从数组中获取价值:PHP

时间:2014-07-21 06:36:22

标签: php multidimensional-array

var_dump($resultData);

给了我这个

array(3) {
  [0]=>
  object(stdClass)#1 (2) {
    ["name"]=>
    string(12) "filterName_1"
    ["value"]=>
    string(8) "language"
  }
  [1]=>
  object(stdClass)#2 (2) {
    ["name"]=>
    string(9) "country_1"
    ["value"]=>
    string(0) ""
  }
  [2]=>
  object(stdClass)#3 (2) {
    ["name"]=>
    string(10) "language_1"
    ["value"]=>
    string(4) "UAE1"
  }
}

如何评价和获取价值?

尝试了

echo $resultData["name"];

和其他一些组合,但无法使其发挥作用。

编辑:注意:

因为我必须获得3个项目的循环及其值,我需要在循环中获取值

 for ($i=0; $i+3 <= count($resultData); $i=$i+3) 
 { 
 }

有没有一种没有foreach循环的方法?

3 个答案:

答案 0 :(得分:6)

你可以试试吗

<?php

foreach($resultData as $key => $value) {
    echo $value->name; // Give you all names
}

另一个例子:

<?php
// Set keys you need to print
$requiredKeys = array('name', 'value');

// Iterate the array
foreach($resultData as $key => $value) {

    // Iterate the required keys
    foreach($requiredKeys as $reqVal) {

        // Check, if propertie exists in current object
        if(isset($value->{$reqVal}) {
              echo $value->{$reqVal}; // Give you all names
        }
    }
}

没有foreach(for-loop)的示例:

<?php
// Set keys you need to print
$requiredKeys = array('name', 'value');

// Iterate the array
for($currentElement = 0; $currentElement <= count($resultData) as $currentElement++) {

    // Iterate the required keys
    for($reqCounter = 0; $reqCounter <= count($requiredKeys); $reqCounter++) {

        // Check, if propertie exists in current object
        if(isset($resultData[$currentElement]->{$requiredKeys[$reqCounter]}) {
              echo $resultData[$currentElement]->{$requiredKeys[$reqCounter]}; // Give you all names
        }
    }
}

答案 1 :(得分:1)

$resultData是一个包含多个对象的数组,因此可以使用$resultData[0]访问第一个对象,依此类推。 对象具有名为name的属性,可以使用$object->name访问该属性 如果数组中有多个对象,则可以使用foreach循环遍历数组中包含的值。例如:

foreach ($resultData as $object) {
    if($object->name === MY_NAME) {
        echo $object->value;
    }
}

这将获取数组中的每个对象,并在其名称等于MY_NAME时显示其值。

答案 2 :(得分:0)

echo $resultData[0]->name;

尝试一下