Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中从多个数组中提取字段_Php_Arrays - Fatal编程技术网

在php中从多个数组中提取字段

在php中从多个数组中提取字段,php,arrays,Php,Arrays,我试图从定义如下的数组中取出文件: $arr[$j][$player_number]['field_name'] 数组中有两个字段:名称和评级。打印阵列时的输出为: Array ( [$j] => Array ( [names] => "some name" [rating] => "some number" )) 我的问题是,在执行“for each”时,不能在同一个循环中使用字段“name”和“rating”。当我单独做的时候——它可以工作,但我不能正常地在表中排序。 我

我试图从定义如下的数组中取出文件:

$arr[$j][$player_number]['field_name']

数组中有两个字段:名称和评级。打印阵列时的输出为:

Array ( [$j] => Array ( [names] => "some name" [rating] => "some number" ))
我的问题是,在执行“for each”时,不能在同一个循环中使用字段“name”和“rating”。当我单独做的时候——它可以工作,但我不能正常地在表中排序。 我知道我必须以某种方式使用“列表”,我试图执行它,但没有成功

我正在做的是:

函数get\u array\u column($array,$column) { $ret=array(); foreach($array as$row)$ret[]=$row[$column]; 返回$ret; }
对于($i=1;$i您拥有一个三维数组

  • 由$j表示的维度
  • 由$player\u编号指示的维度
  • 由$field\u name指示的维度
  • 也许你想要这样的东西: 由玩家编号指示的数组
    $array[$player\u number]

    在这个数组中,你可以添加stdClass对象,它包含玩家的名字和等级

    //create players array
    $players = array();
    //create a player
    $player = new stdClass();
    $player->number = 342;
    $player->name = "Matt Click";
    $player->rating = 13;
    // add a player to the players array
    $players[$player->number] = $player;
    ... // some code
    // foreach through the players
    foreach ($players as $player)
    {
        echo "Name: ".$player->name." rating:".$player->rating."\n";
    }
    

    一旦将数组定义为

    [0] => Array ( [name] => name0 
    [fieldname] => fieldname0 ) [1] => Array ( [name] => name1 [fieldname] => fieldname1 )
    
    foreach ($arr as $key){
    
    echo $key['names'];
    
    echo $key['ratings'];
    
    }
    

    请添加到目前为止您所编写的代码,因为很难理解您在这里尝试执行的操作。@i-alarm-EDALINE添加的代码。也许它可以工作,但不是我正在搜索的。数组已经准备好,我唯一要做的是在同一个循环中输出两个字段。字段名称不是变量(没有$),每个数组只有2个字段-名称和评级。请再次告诉我您的数组的外观,因为
    $arr[$j][$player\u number]['field\u name'];
    的意思与您所说的不同。这正是我问题的答案。
    [0] => Array ( [name] => name0 
    [fieldname] => fieldname0 ) [1] => Array ( [name] => name1 [fieldname] => fieldname1 )
    
    foreach ($arr as $key){
    
    echo $key['names'];
    
    echo $key['ratings'];
    
    }