我从函数(var_dump())获取此数组:
...{ [0]=> string(7) "user_id" } [1]=> array(1) { [0]=> string(7) "user_id" } [2]...
当我尝试将值分隔为:
$ var2 = $ var ['user_id']
我收到错误“undefined index'user_id'”,尽管如你所见,该值的名称是“user_id”,我已经检查了我的数据库一百次,这就是索引。
还有哪些其他可能的错误来源?
我感谢任何帮助! 提前谢谢!
function get_subscribitions($user)
{
$user = mysql_real_escape_string ($user);
$sql = "SELECT * FROM `subscribe` WHERE subscriber = '$user'";
$result = mysql_query($sql);
$rows = array();
while ($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
mysql_free_result($result);
return $rows;
任何人都可以找出上面代码中的哪个位置,我犯了导致这个问题的错误? 感谢。
答案 0 :(得分:1)
[0]是索引,数据是“user_id”
答案 1 :(得分:1)
数组键0包含一个名为'user_id'
的字符串,但没有名为'user_id'
的键,因此您收到错误的原因。
我建议你看看你是如何编译这些数据的(也许是查询结果?)。
答案 2 :(得分:1)
你错了。数组的结构如下:
array:
[0] => array:
[0] => "user_id"
[1] => array:
[0] => "user_id"
您需要像这样访问它:$var[0][0]
,您将获得user_id
。最有可能在设置阵列时你做错了什么。
答案 3 :(得分:0)
索引是[0]。我认为你的结构不正确。索引是声明的左侧,值是右侧。您已使用增量索引将所有值分配给“user_id”。
答案 4 :(得分:0)
user_id
不是数组键(可以由[]
访问),它是一个值。
但您可以使用array_search()
$index = array_search('user_id', $your_array);
var_dump( $your_array[$index] );
答案 5 :(得分:0)
错误,因为user_id
不是index
,而是index 0