Php 无法访问数组键
我对数组的键有点问题。 该数组如下所示:Php 无法访问数组键,php,arrays,key,Php,Arrays,Key,我对数组的键有点问题。 该数组如下所示: Array ( [1] => Array ( ["question"] => test question 1 ["open_response"] => 1 ) [2] => Array ( ["question"] => test question 2 ["yes_
Array
(
[1] => Array
(
["question"] => test question 1
["open_response"] => 1
)
[2] => Array
(
["question"] => test question 2
["yes_no"] => 1
)
)
<pre>
<?php
$a = array(
"\0question\0" => "test question 1",
"question\0" => "test question 2",
"\0question" => "test question 3",
"question" => "test question 4"
);
var_dump($a);
?>
但出于某种原因,每当我试图访问$data['1']['question']
时,它都会告诉我,question不是索引。我有点困惑,因为它应该是一个关键,但不是,我如何才能解决这个问题?或者如何访问它?您想要:
$data[1]['question']
不是:
编辑:
我的回答并没有解决他的问题,而是帮助他找到了真正的问题。上面的两个片段是完全相同的,因为如果字符串是有效的整数,PHP会将字符串键转换为整数。在我看来,这简直让人困惑。如果我用一个字符串为数组设置了键,dag`namit应该用一个字符串为它设置键,即使该字符串也可以解析为int
相关文档可在以下位置找到:
键可以是整数或字符串。该值可以是任何类型
此外,还会发生以下关键点强制转换:
$data[1]['question']
不是:
编辑:
我的回答并没有解决他的问题,而是帮助他找到了真正的问题。上面的两个片段是完全相同的,因为如果字符串是有效的整数,PHP会将字符串键转换为整数。在我看来,这简直让人困惑。如果我用一个字符串为数组设置了键,dag`namit应该用一个字符串为它设置键,即使该字符串也可以解析为int
相关文档可在以下位置找到:
键可以是整数或字符串。该值可以是任何类型
此外,还会发生以下关键点强制转换:
您的阵列从何处提供? 数组索引可能有不可见的字符(由编辑器、浏览器等使用),如退格或null(\0)字符。在var_dump上看不到这些字符 看看这个例子: 代码:
您可以使用一些数组函数,如:array\u value、array\u map来重新构建和验证您的数组。您的数组从何处提供? 数组索引可能有不可见的字符(由编辑器、浏览器等使用),如退格或null(\0)字符。在var_dump上看不到这些字符 看看这个例子: 代码:
您可以使用一些数组函数,如:array\u values、array\u map来重新构建和验证您的数组。确定吗?我对它进行了测试,
$data['1']['question']
返回文本问题1
。谢谢,伙计,有时候我们程序员需要额外的眼睛。。。这是一个愚蠢的错误,我从昨晚开始一直在编码,我想我需要休息一下,谢谢你:)测试这个$data[1]['question']='test';echo$data['1']['question']
@TheManiac如果它们不一样,为什么数组(0=>“零”,1=>“一”,“1”=>“一个字符串”)
会创建一个2元素数组而不是3元素数组?(我不是想证明你错了,我只是糊涂了)@TheManiac哇,我以前从未意识到这一点。谢谢你的解释!你确定吗?我对它进行了测试,$data['1']['question']
返回文本问题1
。谢谢,伙计,有时候我们程序员需要额外的眼睛。。。这是一个愚蠢的错误,我从昨晚开始一直在编码,我想我需要休息一下,谢谢你:)测试这个$data[1]['question']='test';echo$data['1']['question']
@TheManiac如果它们不一样,为什么数组(0=>“零”,1=>“一”,“1”=>“一个字符串”)
会创建一个2元素数组而不是3元素数组?(我不是想证明你错了,我只是糊涂了)@TheManiac哇,我以前从未意识到这一点。谢谢你的解释!您确定准确定义了该数组,然后键入了$data['1']['question']
?你能显示完整的代码吗?!您确定准确定义了该数组,然后键入了$data['1']['question']
?你能显示完整的代码吗?!
array(4) {
["question"]=>
string(15) "test question 1"
["question"]=>
string(15) "test question 2"
["question"]=>
string(15) "test question 3"
["question"]=>
string(15) "test question 4"
}