我试图获取特定密钥的随机数组。
到目前为止,这是我的代码,
$convert = array(
'a' => 'Amusing','Amazing',
'b' => 'Beyond',
'c' => 'Clever','Colorful','Calm',
'd' => 'Dangerous','Donkey',
'e' => 'Endangered',
'f' => 'Fancy',
'g' => 'Great',
'h' => 'Helpful','Humorous',
);
$txt="baca";
$txt=strtolower($txt);
$arr=str_split($txt);
foreach ($arr as $alfa) {
echo $alfa." = ".$convert[$alfa]."\n";
}
the output would be :
b = Beyond
a = Amusing
c = Clever
a = Amusing
但是我想要
b = Beyond
a = Amusing
c = Clever
a = Amazing
在这种情况下,特定数组(' a')的唯一值。 我试图使用array_rand但失败了。我很感激任何给出的建议..
答案 0 :(得分:1)
此:
array(
'a' => 'Amusing','Amazing',
...
)
相当于:
array(
'a' => 'Amusing',
0 => 'Amazing',
...
)
您没有为“神奇”一词指定密钥,因此会自动获取数字密钥。它实际上不属于'a'
键,即使你在同一行上写它。
你想要的是:
array(
'a' => array('Amusing', 'Amazing'),
...
)
然后:
$values = $convert['a'];
echo $values[array_rand($values)];