从多维数组中选择项目

时间:2014-11-06 15:50:18

标签: php arrays multidimensional-array

我有一个包含以下内容的数组:

$tester

 array(1) {
  [0]=>
  object(CategoryItem)#79 (17) {
    ["type"]=>
    string(0) ""
    ["addedInVersion"]=>
    string(4) "0.02"
    ["lastUpdatedInVersion"]=>
    string(4) "0.02"
    ["AToZ"]=>
    bool(false)
    ["name"]=>
    string(22) "Page Name"
    ["scopeNotes"]=>
    string(0) ""
    ["historyNotes"]=>
    string(13) "Added in 0.02"
    ["broaderItems"]=>
    array(0) {
    }

我想回显一下该名称,如果是这种情况,请在if语句中使用它。

我有但是这个错误,我也试过$ tester-> CategoryItem->名字但没有快乐。

我有什么明显的遗失吗?

2 个答案:

答案 0 :(得分:2)

您需要像这样访问它:

$name = $tester[0]->name;
echo $name;

答案 1 :(得分:1)

你的php OOP理解中有一些漏洞,你应该通过以下教程来修复它们:

http://www.killerphp.com/tutorials/object-oriented-php/
http://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762
http://www.tutorialspoint.com/php/php_object_oriented.htm

现在回答你的问题,你的代码应该是这样的:

$the_name = $tester[0]->name;
if($the_name == 'whatever value you want') {
   echo $the_name;
}

首先,您的初始变量是一个数组,因此,$tester[0],然后,此位置是类CategoryItem的对象,因此您使用范围:$tester[0]->value

至于类属性中的最后一个值broaderItems,这又是一个数组,因此要访问其中一个值,您必须将其称为:

$tester[0]->broaderItems[0]; //or whatever the keys you will have here

希望这有帮助! :d