Awa*_*wan 1 php arrays string multidimensional-array
我有一个像这样的数组:
$temp = array( '123' => array( '456' => array( '789' => '0' ) ),
'abc' => array( 'def' => array( 'ghi' => 'jkl' ) )
);
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的字符串:
$address = '123_456_789';
Run Code Online (Sandbox Code Playgroud)
我可以得到$temp['123']['456']['789']
使用上述数组$temp
和字符串的价值$address
吗?
有什么方法可以做到这一点,并且使用它是否是一种好习惯?
这是一个简单的函数,它接受数组和字符串地址,其中的键由任何定义的定界符分隔。通过这种方法,我们可以使用for循环迭代到所需的数组深度,如下所示。
<?php
function delimitArray($array, $address, $delimiter="_") {
$address = explode($delimiter, $address);
$num_args = count($address);
$val = $array;
for ( $i = 0; $i < $num_args; $i++ ) {
// every iteration brings us closer to the truth
$val = $val[$address[$i]];
}
return $val;
}
$temp = array("123"=>array("456"=>array("789"=>"hello world")));
$address = "123_456_789";
echo delimitArray($temp,$address,"_");
?>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
403 次 |
最近记录: |