简体   繁体   中英

how to travel through the array in php?

i am having one key list for example

  $key_list=array("list"=>array("task","duration"));

function array_key_fun($key_list,$test_input){
    //(is_array($test_input)){
return    array_map('myfunction',$test_input,$key_list);
    //}
}


//$va=array_map("myfunction",$test_input);
//print_r(array_key_fun($key_list,$test_input));

function myfunction($arr)
{
    if(is_array($arr))
        {

        $get_array=    get_childs($arr);
            return $get_array;
        }
 }
function get_childs($arr){

                    $newarr=array();
                    $newarr_en='';
                                    foreach($arr as $key=>$value)    
                        {    

                        if(is_array($value)){
                              $newarr[$key]=get_childs($value);

                        }else{

                            if (in_array($key,$key_list)) //here im facing the problem with key_list
                                      {
                                        ..............
                                      }
                                     else
                                     {
                                        ...............
                                     }

                            }

                        }
           return $newarr;



    }

Either pass in function or declare as global

function abc($a,$key_list){

OR

function abc($a){
  global $key_list;
  //rest of code

EDIT:

When you pass the array as parameter of function you have to pass the value in call as well

when you call this function this should be

//array should be declared before calling function 
  $key_list=array("list"=>array("task","duration")); 
  abc($a,$key_list); //pass this array

您必须将变量放入范围内,在您的代码中.........如果将其替换为global $key_list则将允许该函数读取/写入该堆栈。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM