Php array_rand() 打印变量名
Php array_rand() printing variable name
我有一个数组,里面装满了不同的谚语,我试图随机输出其中一个谚语。我的程序打印出随机语句,但有时它会打印出分配给语句的变量名称而不是实际语句,我不确定为什么。
$foo=Array('saying1', 'saying2', 'saying3');
$foo['saying1'] = "Hello.";
$foo['saying2'] = "World.";
$foo['saying3'] = "Goodbye.";
echo $foo[array_rand($foo)];
例如,它会按原样打印 World,但其他时候会打印 saying2。不确定我做错了什么。
删除开头的值。将第一行更改为:
$foo = array();
您所做的是将值 'saying1' 等放入数组中。你不希望那些值在那里。您还可以删除索引值:
$foo[] = 'Hello.';
$foo[] = 'World.';
这会简化您的工作。
您在第一行以错误的方式声明了您的数组。
如果您想将数组用作关联数组:
$foo=Array('saying1' => array (), 'saying2' => array(), 'saying3' => array());
或者你可以选择 Kainaw 给出的非关联风格。
编辑:在非关联数组上调用它:
echo("<pre>"); print_r($foo); echo("</pre>");
作为输出:
Array
(
[0] => saying1
[1] => saying2
[2] => saying3
[saying1] => Hello.
[saying2] => World.
[saying3] => Goodbye.
)
根据@Answers_Seeker所说的内容,要让您的代码按您期望的方式工作,您必须使用以下方法之一重新声明和初始化您的数组:
$foo=array('saying1'=>'Hello.', 'saying2'=>'World.', 'saying3'=>'Goodbye.');
或者这样:
$foo=array();
$foo['saying1'] = "Hello.";
$foo['saying2'] = "World.";
$foo['saying3'] = "Goodbye.";
然后,随机打印内容:
echo $foo[array_rand($foo)];
我有一个数组,里面装满了不同的谚语,我试图随机输出其中一个谚语。我的程序打印出随机语句,但有时它会打印出分配给语句的变量名称而不是实际语句,我不确定为什么。
$foo=Array('saying1', 'saying2', 'saying3');
$foo['saying1'] = "Hello.";
$foo['saying2'] = "World.";
$foo['saying3'] = "Goodbye.";
echo $foo[array_rand($foo)];
例如,它会按原样打印 World,但其他时候会打印 saying2。不确定我做错了什么。
删除开头的值。将第一行更改为:
$foo = array();
您所做的是将值 'saying1' 等放入数组中。你不希望那些值在那里。您还可以删除索引值:
$foo[] = 'Hello.';
$foo[] = 'World.';
这会简化您的工作。
您在第一行以错误的方式声明了您的数组。 如果您想将数组用作关联数组:
$foo=Array('saying1' => array (), 'saying2' => array(), 'saying3' => array());
或者你可以选择 Kainaw 给出的非关联风格。
编辑:在非关联数组上调用它:
echo("<pre>"); print_r($foo); echo("</pre>");
作为输出:
Array
(
[0] => saying1
[1] => saying2
[2] => saying3
[saying1] => Hello.
[saying2] => World.
[saying3] => Goodbye.
)
根据@Answers_Seeker所说的内容,要让您的代码按您期望的方式工作,您必须使用以下方法之一重新声明和初始化您的数组:
$foo=array('saying1'=>'Hello.', 'saying2'=>'World.', 'saying3'=>'Goodbye.');
或者这样:
$foo=array();
$foo['saying1'] = "Hello.";
$foo['saying2'] = "World.";
$foo['saying3'] = "Goodbye.";
然后,随机打印内容:
echo $foo[array_rand($foo)];