创建具有随机值的关联数组 PHP
我正在尝试生成一个具有随机值的关联数组。例如,如果我给你这个字符串:(
something, anotherThing, foo, bar, baz
字符串的长度是动态的 - 所以可能有 10 个项目,或 15 个);
我想根据这些值创建一个数组:
$random = rand();
array("something"=>$random, "anotherThing"=>$random, "foo"=>$random, "bar"=>$random, "baz"=>$random);
它根据给定的值的数量构建数组。
我知道如何将它们排序到数组中,如下所示:
explode(", ", $valueString);
但是如何分配值以使其成为关联数组?
谢谢。
I am trying to generate an associate array with random values. For example, if I give you this string:
something, anotherThing, foo, bar, baz
(the length of the string is dynamic - so there could be 10 items, or 15);
I would like to create an array based on those values:
$random = rand();
array("something"=>$random, "anotherThing"=>$random, "foo"=>$random, "bar"=>$random, "baz"=>$random);
And it builds the array based on how many values it's given.
I know how to order them into an array like so:
explode(", ", $valueString);
But how can I assign the values to make it an associative array?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
注意:我假设您希望每个项目都有一个不同随机值(这与您的示例中发生的情况并不完全一样)。
使用 PHP 5.3 或更高版本,您可以像这样最容易做到这一点:
对于早期版本,或者如果您不想使用
array_map
,您可以以更实际但稍微更详细的方式做同样的事情:NOTE: I am assuming that you want each item to have a different random value (which is not exactly what happens in your example).
With PHP 5.3 or later, you can do this most easily like so:
For earlier versions, or if you don't want to use
array_map
, you can do the same thing in a more down to earth but slightly more verbose manner:所有示例都很好,但并不简单
初始化数组
您需要多少个值?
<前><代码>$m = 10;
将随机数保存到数组的所有元素
为什么要让这个简单的例子变得更复杂?
,阿尔森
all example are good, but not simple
Init array
How many values your need?
save random to all elements of array
Why make more complex this simple example?
, Arsen
我想你的钥匙在 $key_array 中。这将使 $random 成为每个键的值:
如果您需要一种方法将不同的随机值应用于每个元素,这里有一个(几个)解决方案:
I suppose you have the keys in $key_array. This will make $random the value of each key:
If you need a way to apply different random values to each element, here's one (of several) solutions: