为什么这不起作用?
$stringhaha =" 1 => General,
2 => Business,
3 => Entertainment,
4 => Health,
5 => Politics,
6 => Sci/Tech,
7 => Sports,
8 => News";
$all_categories = array($stringhaha);
print_r($all_categories);
(将给出一个包含1个项目的数组。)
虽然这有效: 如果我包含这样的变量内容,它将正确创建一个包含8个项目的数组:
$all_categories = array(1 => General,
2 => Business,
3 => Entertainment,
4 => Health,
5 => Politics,
6 => Sci/Tech,
7 => Sports,
8 => News);
print_r($all_categories);
答案 0 :(得分:2)
正在发生的事情正是您应该期待的:您已经声明了一个包含一个字符串的数组。
你的字符串看起来像是人类的数组并不重要,PHP只是PHP,并且不能神奇地检测到你希望它从字符串中解析数组。
giorgio79,见PHP Docs,你最好的朋友。
答案 1 :(得分:2)
它被称为语言语法。你无法做任何你想做的事。你必须说出它的设计方式。
这不起作用
message = hello
为什么呢?因为它在语法上不正确。同样适用于您的数组示例。
这是正确的
$message = 'hello';
每种语言都有规则,你必须尊重它们。祝你好运。
答案 2 :(得分:0)
我认为正确的语法是:
$all_categories = array(1 => "General",
2 => "Business",
3 => "Entertainment",
4 => "Health",
5 => "Politics",
6 => "Sci/Tech",
7 => "Sports",
8 => "News");
print_r($all_categories);
你确实想要一个字符串数组,对吗?