PHP 排列多个键
PHP Array multiple keys
这是我想要做的:
<?php
$array = array("array1" => array(), "array2" => array());
function mdparser(){
for($i = 0;$i < func_num_args();$i++){
//foreach arguement go 1 child deeper
return $array["array1"] //if second argument exists ["array2"];
?>
我需要它来独立解析多维数组,所以我可以在任何多维数组上使用它。
只需在调用方法时将数组传递给方法,假设您是从 $array
在范围
的某个地方调用它
同时更改您正在构建的数组,以便您拥有一个已知的、易于处理的索引,即 0.1.2... 而不是 'array1'、'array2'、....
<?php
$array = array( array(), array() );
function mdparser($array){
return $array[count($array)-1];
}
$last_array = mdparser($array);
?>
这应该是 return 外部数组中的最后一个数组。
仍然只是猜测您要实现的目标
$this->myArray = array("key1" => array("key2" => array(1,2,3)));
protected function mdparser(){
$result = $this->myArray;
for($i = 0;$i < func_num_args();$i++){
$result = $result[func_get_arg($i)];
}
return $result;
}
$result = this->mdparser('key1', 'key2', 1);
PHP >= 5.6 允许变量来简化这个:
protected function mdparser(...$args){
$result = $this->myArray;
foreach($args as $arg){
$result = $result[$arg];
}
return $result;
}
没关系,我已经找到方法了,无论如何谢谢:
function search_array(){
$args = func_get_args();
$arg_num = func_num_args();
for($i = 0;$i < $arg_num;$i++){
$arg = $args[$i];
//foreach arguement go 1 child deeper
$array = $this->array[$arg];
$this->array = $array;
//if second argument exists ["array2"];
}
}
这是我想要做的:
<?php
$array = array("array1" => array(), "array2" => array());
function mdparser(){
for($i = 0;$i < func_num_args();$i++){
//foreach arguement go 1 child deeper
return $array["array1"] //if second argument exists ["array2"];
?>
我需要它来独立解析多维数组,所以我可以在任何多维数组上使用它。
只需在调用方法时将数组传递给方法,假设您是从 $array
在范围
同时更改您正在构建的数组,以便您拥有一个已知的、易于处理的索引,即 0.1.2... 而不是 'array1'、'array2'、....
<?php
$array = array( array(), array() );
function mdparser($array){
return $array[count($array)-1];
}
$last_array = mdparser($array);
?>
这应该是 return 外部数组中的最后一个数组。
仍然只是猜测您要实现的目标
$this->myArray = array("key1" => array("key2" => array(1,2,3)));
protected function mdparser(){
$result = $this->myArray;
for($i = 0;$i < func_num_args();$i++){
$result = $result[func_get_arg($i)];
}
return $result;
}
$result = this->mdparser('key1', 'key2', 1);
PHP >= 5.6 允许变量来简化这个:
protected function mdparser(...$args){
$result = $this->myArray;
foreach($args as $arg){
$result = $result[$arg];
}
return $result;
}
没关系,我已经找到方法了,无论如何谢谢:
function search_array(){
$args = func_get_args();
$arg_num = func_num_args();
for($i = 0;$i < $arg_num;$i++){
$arg = $args[$i];
//foreach arguement go 1 child deeper
$array = $this->array[$arg];
$this->array = $array;
//if second argument exists ["array2"];
}
}