我有一个像这样的字符串:
$string =’一/二/三/四’;
把它变成一个数组:
$keys = explode(‘/’,$string);
该数组可以包含任意数量的元素,如1,2,5等.
如何为多维数组指定某个值,但是使用我在上面创建的$键来标识要插入的位置?
喜欢:
$arr [‘one’] [‘two’] [‘three’] [‘four’] =’value’;
对不起,如果问题令人困惑,但我不知道如何更好地解释它
这有点不重要,因为你想要嵌套,但它应该是这样的:
function insert_using_keys($arr,$keys,$value){ // we're modifying a copy of $arr,but here // we obtain a reference to it. we move the // reference in order to set the values. $a = &$arr; while( count($keys) > 0 ){ // get next first key $k = array_shift($keys); // if $a isn't an array already,make it one if(!is_array($a)){ $a = array(); } // move the reference deeper $a = &$a[$k]; } $a = $value; // return a copy of $arr with the value set return $arr; }