获取array1中数组值的值,指定array1值内的数组值。
获取array1中数组值的值,指定array1值内的数组值。
我认为从标题上看不太清楚,但这是情况:
我有一个像这样的数组(它更大,这只是一个示例):
$array = array( array('name' => 'John', 'age' => '29', 'from' => 'Uknown'), array('name' => 'Brad', 'age' => '27', 'from' => 'Idk'), array('name' => 'Phil', 'age' => '31', 'from' => 'My House') );
我正在尝试找到一种快速的方法,使用PHP的内置函数(不使用循环或其他东西),指定另一个数组中的这个数组的名称,它会给我返回与该名称相关的信息。
例如:
如果我指定Brad
,它会给我返回一个数组:
array('name' => 'Brad', 'age' => '27', 'from' => 'Idk')
问题的出现原因:
在给定的数组$array1中,每个元素都有一个'name'键对应的值。现在的问题是如何根据数组$array1中某个元素的'name'值去获取相应的元素的值。
解决方法:
首先,可以使用array_column函数将数组$array1中所有元素的'name'值提取出来,存储在$names数组中。
然后,使用array_flip函数将$names数组中的值作为键,原先的键作为值,生成一个新的数组$indexs。
最后,通过$indexs['Brad']获取到目标元素的键,并使用print_r函数打印出该元素的值。
完整代码如下:
$names = array_column($array1, 'name'); $indexs = array_flip($names); print_r($array1[$indexs['Brad']]);
以上代码能够根据数组$array1中某个元素的'name'值获取相应的元素的值。
问题出现的原因是需要获取一个数组(array1)中特定数组的值,该特定数组的值包含在array1的值中。解决方法是使用PHP中的array_search和array_column函数来实现。
在给出的代码中,首先使用array_column函数从数组$array中取出'name'键对应的值构成一个新的数组。然后使用array_search函数在新的数组中查找值为'Brad'的元素,并返回该元素的键。最后使用print_r函数打印出数组$array中该键对应的值,即所需的特定数组。
为了更好地理解如何使用这两个函数,可以参考PHP官方文档中的array-search和array-column函数的说明。
[array-search函数](http://php.net/manual/en/function.array-search.php)用于在数组中搜索给定的值,并返回对应的键。如果找到多个匹配值,则只返回第一个匹配的键。
[array-column函数](http://php.net/manual/en/function.array-column.php)用于从多维数组中返回指定的列。
通过结合使用这两个函数,可以方便地获取数组中特定数组的值,解决了问题。