打印嵌套数组

时间:2014-11-17 05:24:20

标签: php arrays

我还是这个阵列的新手,还在学习。需要打印这个嵌套数组。请指导我如何操作,因为在尝试打印时无法识别。

$args = array(
        'pUserId'=>"veenu",
        "pPassword" => "somePass",
    "pCode" => 381,
    "pCity" => "DELHI",
        $pIn = array("TypeCode" => 22,"Subtype" => "21"));

我试图打印的方式如下

print_r($args[pIn] -> TypeCode);

尝试打印时出错是"未定义索引:pIn"和"试图获得非对象的属性"

4 个答案:

答案 0 :(得分:0)

1.从我看到的,你想要一个指向嵌套数组的键pLn。你就是这样做的:

"pIn" => array("TypeCode" => 22,"Subtype" => "21")

2.当使用键将它们用单引号括起来时,这是一个好主意:

 print_r($args['pIn']['TypeCode']);

干杯!

答案 1 :(得分:0)

应该是

echo $args[$pIn]['TypeCode'];

这是一个多维数组。

它有一个父数组和一个键为$pIn的数组。

答案 2 :(得分:0)

您将$pIn作为键,但未定义。但是如果你只想放pIn(作为字符串),你就不需要在变量中表达它。

您需要的只是

$args = array(
        "pUserId" => "veenu",
        "pPassword" => "somePass",
        "pCode" => 381,
        "pCity" => "DELHI",
        "pIn" => array(
                "TypeCode" => 22,
                "Subtype" => "21")
         );

由于$args现在是一个多维数组,您将能够像这样得到TypeCode:

echo $args["pIn"]["TypeCode"];

答案 3 :(得分:0)

正如您所编写的那样,您正在为变量$ pIn分配一个数组,并将其包含在$ args中,但不包括在索引中。您定义的数组如下所示:

array(5) {
  ["pUserId"]=>
  string(5) "veenu"
  ["pPassword"]=>
  string(8) "somePass"
  ["pCode"]=>
  int(381)
  ["pCity"]=>
  string(5) "DELHI"
  [0]=>
  array(2) {
    ["TypeCode"]=>
    int(22)
    ["Subtype"]=>
    string(2) "21"
  }
}

你可能想要:

$args = array(
        'pUserId'=>"veenu",
        "pPassword" => "somePass",
    "pCode" => 381,
    "pCity" => "DELHI",
    "pIn" => array("TypeCode" => 22,"Subtype" => "21"));

    print_r($args["pIn"]["TypeCode"]);  

注意print_r如何访问所需的元素。