Php 如何从数组中的stdClass对象中检索值
有如下数组:Php 如何从数组中的stdClass对象中检索值,php,arrays,object,stdclass,Php,Arrays,Object,Stdclass,有如下数组: Array ( [0] => stdClass Object ( [city_id] => 2222 [city_name] => newCity ) [1] => stdClass Object ( [city_id] => 4444 [city_name] => oldCity ) [2] => stdClass Object (
Array
(
[0] => stdClass Object
(
[city_id] => 2222
[city_name] => newCity
)
[1] => stdClass Object
(
[city_id] => 4444
[city_name] => oldCity
)
[2] => stdClass Object
(
[city_id] => 6666
[city_name] => newCity2
)
)
现在,我想获取city\u id
当我设置city\u name
时,如何在我的代码中获取它
例如,如果我为
city\u name
设置newCity2
,那么我会看到city\u id
的6666
,等等。您需要将其作为
foreach($data as $key=>$val){
echo 'City ID ::'.$val->city_id."<br />";
echo 'City Name ::'.$val->city_name."<br />";
}
foreach($key=>$val的数据){
回显“城市ID::”。$val->City_ID。“
”;
echo“城市名称::”.$val->City_Name.“
”;
}
如果您想查看特定数据,则可以根据需要修改上述内容
foreach($data as $key=>$val){
if($val->city_name == 'newCity2'){
echo 'City ID ::'.$val->city_id."<br />";
break;
}
}
function getCityIDByName($cityname,$data){
$return = '';
foreach($data as $key=>$val){
if($val->city_name == $cityname){
$return = $val->city_id
break;
}
}
return $return ;
}
$city_id = getCityIDByName ('newCity2',$data);
foreach($key=>$val的数据){
如果($val->city_name=='newCity2'){
回显“城市ID::”。$val->City_ID。“
”;
打破
}
}
函数getCityIDByName($cityname,$data){
$return='';
foreach($key=>$val的数据){
如果($val->city_name==$cityname){
$return=$val->city\u id
打破
}
}
return$return;
}
$city_id=getCityIDByName('newCity2',$data);
您必须迭代数组并检查city\u name
以获得相应的ID。您也可以先这样做,以city\u name
作为键,以city\u ID
作为值来设置数组
foreach ($array as $value) {
if ($value->city_name == $compareCityName) {
$city_id = $value->city_id;
}
}
.. 也许是这样的?city_name的值不是静态的,而是动态的。当我在问题中更新时,您可以创建一个函数来实现这一点。请在另一个答案中查看我与@Explosion Pills的对话,两个答案都是相同的,但不适用于我:(我确实像你一样设置了,但当我想查看结果时,得到了错误
未定义变量:cityId
,我的代码是:$city='oldCity';foreach($results as$value){$cityName=$value->city\u name;if($cityName=$city){$cityId=$value->city\id;}var\u dump($cityId);exit;
@sIiiS这意味着没有找到名为oldCity
的城市我以前设置过$city='oldCity';
正如您在我的代码中看到的,但是为什么找不到它呢?@sIiiS因为它不在那里?取决于$results
的$results
的值与$array
的值相同,而在 $results
在我的主要Q中,oldCity可用