php字符串变量,包含数组函数的输入

时间:2010-08-17 11:01:19

标签: php arrays string text input

为什么这不起作用?

  $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);

3 个答案:

答案 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);

你确实想要一个字符串数组,对吗?