Php 回传多维阵列

Php 回传多维阵列,php,multidimensional-array,Php,Multidimensional Array,我有一个多维数组的球员名单的使命召唤4。当我尝试回显阵列时,它会返回array30次,因为服务器中有30个当前播放器 $promodplist的Var_转储(玩家列表) 这就是我用来列出当前玩家的方法 $promodplist = $data['promod']['players']; foreach($promodplist as $k => $v) 我只想回显每个数组中的nick(昵称) $promodplist = $data['promod']['players']; forea

我有一个多维数组的球员名单的使命召唤4。当我尝试回显阵列时,它会返回
array
30次,因为服务器中有30个当前播放器

$promodplist的Var_转储(玩家列表)

这就是我用来列出当前玩家的方法

$promodplist = $data['promod']['players'];
foreach($promodplist as $k => $v)
我只想回显每个数组中的
nick
(昵称)

$promodplist = $data['promod']['players'];
foreach($promodplist as $k => $v)
    print($v['nick']);

你应该做你想做的。迭代数组中的键/值对,其中
$k
是元素的键(在您的情况下是基于0的索引),而
$v
是值(对于您来说是播放器数据的数组)。您可以通过将其名称用作中的键来访问其余信息。

以下是我用于从多维数组构建数组的基本函数

function db_result_array($result, $key_column = null) { 
    for ($array = array(); $row = mysql_fetch_assoc($result); isset($row[$key_column]) ? $array[$row[$key_column]] = $row : $array[] = $row); 
    return $array; 
}

像这样的函数怎么样

function print_results($results) {

    foreach ($results as $id){
        echo ": Player Info :<br />";
        foreach($id as $key => $val){

            // add this line to only print out the "nick" field
            if ($key == "nick")
            echo "Field: " . $key . " - Value: " . $val . "<br />";
        }
    }
}
函数打印结果($results){
foreach($id形式的结果){
echo“:玩家信息:
”; foreach($id作为$key=>$val){ //添加此行以仅打印“尼克”字段 如果($key==“nick”) echo“字段:.$key.”-值:.$val.
; } } }
此外,格式化数组有助于我们了解您正在使用的内容;一条长长的线比下面的线更难破译:

array(27) {
    [0]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "26"
        ["nick"]=> string(10) "DIVINEBRAH"
        ["gq_name"]=> string(10) "DIVINEBRAH"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "26"
    }
    [1]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "35"
        ["nick"]=> string(7) "><> <><"
        ["gq_name"]=> string(7) "><> <><"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "35" 
    }
    [2]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "42"
        ["nick"]=> string(10) "xXthe0neXx"
        ["gq_name"]=> string(10) "xXthe0neXx"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "42" 
    }
    [3]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "50"
        ["nick"]=> string(5) "GenKY"
        ["gq_name"]=> string(5) "GenKY"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "50" 
    }
    [4]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "63"
        ["nick"]=> string(4) "dupe"
        ["gq_name"]=> string(4) "dupe"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "63" 
    }
    [5]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "72"
        ["nick"]=> string(7) "B2B vcc"
        ["gq_name"]=> string(7) "B2B vcc"
        ["gq_score"]=> string(1) "0"
        ["gq_ping"]=> string(2) "72" 
    }
    [6]=> array(6) {
        ["frags"]=> string(1) "0"
        ["ping"]=> string(2) "82"
        ["nick"]=> string(10) "[dB]tumble"
        ["gq_name"]=> string(10) "[dB]tumble"
        ["gq_score"]=> string(1) "0" 
    }
}
数组(27){
[0]=>阵列(6){
[“碎片”]=>字符串(1)“0”
[“ping”]=>字符串(2)“26”
[“nick”]=>字符串(10)“DIVINEBRAH”
[“gq_name”]=>字符串(10)“DIVINEBRAH”
[“gq_分数”]=>字符串(1)“0”
[“gq_ping”]=>字符串(2)“26”
}
[1] =>阵列(6){
[“碎片”]=>字符串(1)“0”
[“ping”]=>字符串(2)“35”
[“尼克”]=>string(7)”>您可以:

$promodplist = $data['promod']['players'];
foreach($promodplist as $k => $v)
var_dump($promodplist);
这意味着您将执行相同的var_dump()30次。您的代码中不需要foreach(),这将执行以下操作:

$promodplist = $data['promod']['players'];
var_dump($promodplist);
另外,您可以做的另一件事是:

$promodplist = $data['promod']['players'];
echo "<pre>";
print_r($promodplist);
echo "</pre>";
$promodplist=$data['promod']['players'];
回声“;
打印(促销清单);
回声“;

bkconrad的解决方案正是您想要的解决方案。要在PHP中打印任何数组(包括多维数组)的内容,请使用[print\r()][print]函数。[print]:
$promodplist = $data['promod']['players'];
var_dump($promodplist);
$promodplist = $data['promod']['players'];
echo "<pre>";
print_r($promodplist);
echo "</pre>";