PHP var_dump数组

时间:2010-02-22 20:48:52

标签: php mysql arrays

array(14) {
  [0]=>
  string(1) "1"
  ["id"]=>
  string(1) "1"
  [1]=>
  string(7) "myUserName"
  ["UserID"]=>
  string(7) "myUserName"
  [2]=>
  string(10) "myPassword"
  ["passwordID"]=>
  string(10) "myPassword"
  [3]=>
  string(24) "myEmail@domain.com"
  ["emailAddress"]=>
  string(24) "myEmail@domain.com"
  [4]=>
  string(7) "myFirstName"
  ["firstName"]=>
  string(7) "myFirstName"
  [5]=>
  string(8) "myLastName"
  ["lastName"]=>
  string(8) "myLastName"
  [6]=>
  string(1) "1"
  ["active"]=>
  string(1) "1"
}

如何使用PHP访问此数组的内容?

以上是var_dump($ info)

4 个答案:

答案 0 :(得分:6)

这取决于您尝试访问的阵列的哪个部分。


如果您尝试访问特定项目,可以通过其索引访问它;例如:

echo $info['passwordID'];

应该给你:

myPassword


(在评论后编辑)

对于电子邮件地址,var_dump的输出中有此部分:

["emailAddress"]=>
  string(24) "myEmail@domain.com"

这表示电子邮件地址作为具有密钥“emailAddress”的元素存储在数组中。

这意味着您应该能够获得这样的电子邮件地址:

echo $info['emailAddress'];


因为你在var_dump的输出中也有这部分文字:
(关于数据的重复,你应该阅读Pekka's answer,它提供了你的数据在数组中的原因两次,并且整数和字符串都是键) < / p>

[3]=>
  string(24) "myEmail@domain.com"

你也可以使用:

echo $info[3];

(当然,在每种情况下,您也可以将其存储到变量以供期货重复使用)


如果要访问每个项目,另一个解决方案是使用一些foreach循环;例如:

foreach ($info as $key => value) {
    echo "Value for key $key is $value <br />";
}


您可能需要浏览arrays section of the PHP manual,了解更多信息。

还有关于array functions的部分。

答案 1 :(得分:3)

您可以使用数字键或关联键:

echo $array[0]; // outputs 1
echo $array["id"];  // outputs 1

我猜这是mysql_fetch_array()操作的结果,不是吗?您可能希望使用the second parameter to that function指定是否需要数字或关联数组。

示例:

$record = mysql_fetch_array($query, MYSQL_ASSOC);  // for associative keys only
$record = mysql_fetch_array($query, MYSQL_NUM);    // for numeric keys only

答案 2 :(得分:0)

数组似乎同时包含字符串和数字键。您可以使用数组索引运算符[]访问这些字段。提供数字键或列名称:

echo $info['UserID']; // output "myUserName"
echo $info['emailAddress']; // output "myEmail@domain.com"

答案 3 :(得分:0)

如果$info是数组,那么您可以echo $info[6]为例 如果您想将其作为字符串,则$s=print_r($info,true);

看起来你做错了,因为不需要像这样访问数组,还有其他方法可以作为数组访问对象。