我有一个脚本,我希望在array()
中获取列的名称。
从API,我可以获得具有多个值的array()
,我想获得特定列的名称。
我没有专栏#39;名称,如何获取它们的列表并逐个获取? 在这里,我想得到" 573"仅
Array ( [success] => 1 [errors] => Array ( ) [data] => Array ( [Messages] => Array ( [573] => PHP is fun ) ) )
感谢。
答案 0 :(得分:0)
你只需要做一个递归迭代器,它将根据密钥匹配使用它来递归或返回一个值:
EntityState.Modified
给你:
<?php
$arr = array(
'success' => 1,
'errors' => array(),
'data' => array(
'Messages' => array(
573 => 'PHP is fun'
)
)
);
function recurseIt($array,$find = false)
{
# Loop through array
foreach($array as $key => $value) {
# If the key is the same as the value
if($key == $find)
# Send back the value
return $value;
# If the value is an array
if(is_array($value)) {
# Use same array to recurse the array
$val = recurseIt($value,$find);
# If there is a value to return
if(!empty($val))
# Send it back
return $val;
}
}
}
# Note, if the key matches, could also be an array
echo recurseIt($arr,573);
修改强>
如果你不知道密钥,大概你有值,所以这将根据搜索值返回密钥:
PHP is fun
给你:
function recurseIt($array,$find = false)
{
foreach($array as $key => $value) {
# If the key is the same as the value
if(!is_array($value) && ($value == $find))
# Send back the key name
return $key;
if(is_array($value)) {
$val = recurseIt($value,$find);
if(!empty($val))
return $val;
}
}
}
echo recurseIt($arr,'PHP is fun');
现在,如果您不知道密钥名称是什么,并且不知道相关的值,那么该函数不知道如何搜索。 573
还没有在PHP库中,所以那时你几乎没有运气。