我有一个名为$response的多维数组,并且最大计数不是unqiue。有时只有1到4。我想要第二个"0"的最后一个数组:
$last_value = $response['name1'][0]['name2'][0]['name3']['name4'];
所以,如果有
$last_value = $response['name1'][0]['name2'][0]['name3']['name4'];
$last_value = $response['name1'][0]['name2'][1]['name3']['name4'];
$last_value = $response['name1'][0]['name2'][2]['name3']['name4'];
$last_value = $response['name1'][0]['name2'][3]['name3']['name4'];
选择带有的
$last_value = $response['name1'][0]['name2'][3]['name3']['name4'];
我知道,这里有php函数的末尾,但我不明白上面的例子。
$last_value = end($response['name1'][0]['name2'])['name3']['name4'];
函数或方法的取消引用需要PHP 5.4+。
否则,对于PHP 5.4之前的版本,它将不得不由两部分组成。
$pre = end($response['name1'][0]['name2']);
$last_value = $pre['name3']['name4'];
测试环境:
<?php
$response['name1'][0]['name2'][0]['name3']['name4'] = '1';
$response['name1'][0]['name2'][1]['name3']['name4'] = '2';
$response['name1'][0]['name2'][2]['name3']['name4'] = '3';
$response['name1'][0]['name2'][3]['name3']['name4'] = '4';
$myLastElement = end($response['name1'][0]); //Clément Andraud's Answer
$last_value = end($response['name1'][0]['name2'])['name3']['name4'];
var_dump($myLastElement); //Clément Andraud's Output
echo '<br />';
var_dump($last_value);
?>
测试结果:
array(4) { [0]=> array(1) { ["name3"]=> array(1) { ["name4"]=> string(1) "1" } } [1]=> array(1) { ["name3"]=> array(1) { ["name4"]=> string(1) "2" } } [2]=> array(1) { ["name3"]=> array(1) { ["name4"]=> string(1) "3" } } [3]=> array(1) { ["name3"]=> array(1) { ["name4"]=> string(1) "4" } } }
string(1) "4"
$myLastElement = end($response['name1'][0]);
这不管用吗?