如何在PHP中访问数组中的数组值
我有这个阵列:如何在PHP中访问数组中的数组值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有这个阵列: $array = array( array('id' => 'test1', 'url' => 'test1url' ), array('id' => 'test2', 'url' => 'test2url' ) ); 如何在不知道父密钥但知道相应ID(test1)的情况下访问“test1url”? 如果我知道父密钥,我可以像这样访问它: $array[0]['url'];
$array = array(
array('id' => 'test1',
'url' => 'test1url'
),
array('id' => 'test2',
'url' => 'test2url'
)
);
如何在不知道父密钥但知道相应ID(test1)的情况下访问“test1url”?
如果我知道父密钥,我可以像这样访问它:
$array[0]['url'];
function findUrl($array,$id) {
foreach($array as $arr) {
if($arr['id'] == $id) {
return $arr['url'];
}
}
}
那么,访问该值的最简单/最快/最快/最简单的方法是什么
谢谢 有什么理由这样构建阵列吗?父数组的功能是什么
$array = array(
array('id' => 'test1', 'url' => 'test1url'),
array('id' => 'test2', 'url' => 'test2url')
);
$search = 'test1url';
foreach($array as $k=>$a){
if(is_array($a) && in_array($search,$a)){
echo "Key:".$k." has responded that the value of ".array_search($search,$a).' = '.$search;
}
}
您可以使用:array_search()
但只有先循环父数组,这才有效
<?php
$array = array(
array('id' => 'test1',
'url' => 'test1url'
),
array('id' => 'test2',
'url' => 'test2url'
)
);
foreach ($array as $valuearray) {
$key = array_search('test1url', $valuearray);
echo $key; // = url
}
?>
或在_数组()中使用;当循环父数组时。在这种情况下,没有比循环所有值更好的解决方案了 您可以创建如下函数:
$array[0]['url'];
function findUrl($array,$id) {
foreach($array as $arr) {
if($arr['id'] == $id) {
return $arr['url'];
}
}
}
并称之为:
echo findUrl($array,"test1");
或者创建数据的另一种表示形式,但如果您不能这样做,最好的解决方案是使用此循环。使用
foreach
在数组中迭代?取决于您想做什么。@fireeyedboy我已经编辑了这个问题,以指定同一数组中的ID是标准@FelixKling是的,但我正在寻找一种比遍历所有值更轻的解决方案@这个数组从哪里来?如果你不知道这个值包含哪个数组,那么除了以一种或另一种方式迭代外部数组之外,你别无选择。