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

问题描述:

I'm trying to take out files out of an Array that defined like this:

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

I have 2 fields in the array : names and rating. The output when I'm printing the array is :

Array ( [$j] => Array ( [names] => "some name" [rating] => "some number" ))

My problem is that I can't take the fields "names" and "rating" at the same loop when I'm doing "for each". When I'm doing it separately - it works but I can't sort it in a table normally. I know that I have to use the "list" in some way, I tried to execute it, but without success.

What I'm doing is :

function get_array_column($array, $column)
    {
        $ret = array();
        foreach ($array as $row) $ret[] = $row[$column];
        return $ret;
    }
    for($i=1;$i<=$num_groups;$i++)
    {   
        $a = array();
        $a = get_array_column($arr[$i],'names');
        foreach ($a as $value)
           {
             echo $value;
           }
    }

Thanks.

我正在尝试从这样定义的数组中取出文件: p> \ n

$ arr [$ j] [$ player_number] ['field_name']; p> blockquote>

我在数组中有2个字段: 名称和评级。 我打印数组时的输出是: p>

 数组([$ j] =&gt;数组([名称] =&gt;“某些名称”[rating] =  &gt;“某个数字”))
  code>  pre> 
 
 

我的问题是我不能在同一个循环中取字段“名称”和“评级” 我做“为每个人”。 当我单独做它 - 它可以工作,但我不能正常在表中排序。 我知道我必须以某种方式使用“列表”,我试图执行它,但没有成功。 p>

我正在做的是: p>

p> blockquote>

  function get_array_column($ array,$ column)
 {
 $ ret = array(); 
 foreach($ array as $ row)$ ret [] = $ row [$ column]; 
 return $ ret  ; 
} 
 for($ i = 1; $ i&lt; = $ num_groups; $ i ++)
 {
 $ a = array(); 
 $ a = get_array_column($ arr [$ i],'  names'); 
 foreach($ a as $ value)
 {
 echo $ value; 
} 
} 
  code>  pre> 
 
 

谢谢。 p> div>

once you defined your array as

[0] => Array ( [name] => name0 
[fieldname] => fieldname0 ) [1] => Array ( [name] => name1 [fieldname] => fieldname1 )

foreach ($arr as $key){

echo $key['names'];

echo $key['ratings'];

}

You are having a three dimensional array.

  1. dimension indicated by $j
  2. dimension indicated by $player_number
  3. dimension indicated by $field_name

Maybe you want something like this: An array which is indicated by the number of the player $array[$player_number]

In this array you can add stdClass objects, which contain the name and the rating of the player. The code could look like this

//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."
";
}