快速回答有关如何从数组中获取值(并将其传递给php变量):
我有这个阵列:
$array = array(
array('name' => 'infotel', 'value' => '+39080123456' ),
array('name' => 'location', 'value' => 'Bari')
);
我需要在$ telephone变量中传递“infotel”的“值”,并在$ city变量中传递“location”的“值”。
我该如何解决这个麻烦?感谢
答案 0 :(得分:3)
你可以为它创建一个函数。
function custom_search($search_for='',$search_in=array())
{
if($search_for=='' OR empty($search_in)) return '';
foreach($search_in as $val)
{
if($val['name']==$search_for) {return $val['value'];}
}
return '';
}
$telephone=custom_search("infotel",$array);
答案 1 :(得分:1)
我可以使用新的array_column()(需要PHP> = 5.5 )和array_walk()来完成。
好的'foreach循环应该没问题,或者你可以直接将它们拉出来,假设你一直都知道数组中的内容。但是我认为这是一个有点发烧友的事情;)......
$arr = array_column($array, 'value', 'name');
array_walk($arr, function(&$v, $k) use (&$telephone, &$city){
if ($k == 'infotel') $telephone = $v;
elseif ($k == 'location') $city = $v;
});
echo $telephone; //+39080123456
echo $city; //Bari
答案 2 :(得分:0)
$telephone='';
$location='';
foreach($array as $k=>$v)
{
if($v['name']=="infotel")
{
$telephone=$v['value'];
break;
}
if($v['name']=="location")
{
$location=$v['value'];
break;
}
}
echo $telephone;
echo $location;
答案 3 :(得分:0)
如果您只有这个数组,请使用:
$tel = $array[0]['value'];
$loc = $array[1]['value'];
答案 4 :(得分:0)
$array = array(
array('name' => 'infotel', 'value' => '+39080123456' ),
array('name' => 'location', 'value' => 'Bari')
);
$telephone = $array[0]['value'];
$city = $array[1]['value'];
echo $telephone;
echo $city;
答案 5 :(得分:0)
您可以使用此代码获得您的愿望结果。你不必担心数组键。但最后一把钥匙将取代您的位置和电话价值。
$array = array(
array('name' => 'infotel', 'value' => '+39080123456' ),
array('name' => 'location', 'value' => 'Bari')
);
$key1 = '';
$key2 = '';
foreach($array as $k => $a){
if(array_search('infotel', $a) != false){
$key1 = $k;
}
if(array_search('location', $a) != false){
$key2 = $k;
}
}
echo 'telephone = '.$array[$key1]['value'];
echo 'location = '.$array[$key2]['value'];