我有个问题希望能帮到你,刚开始用php、java“编程”,以前用过但没想到我的语言不会,好吧那是另一个话题..
我在java中有这段代码
String str = "c, o, d, e";
List<String>=Arrays.asList letters(str.splir(","));
Collections.shuffle(letters);
String outout = "";
for(String s:letters){output += s;}
System.out.println(output);
这行得通,我弄乱了歌词,创建了一个字母困惑的新字符串
现在我想在 php 中做同样的事情,但我不知道该怎么做 这在 php 中用于 (String s: letras_)
$string_letters = "c,o,d,e";
$array = explode(",",$string_letters);
suffle($array);
$string_output = "";
for($string_letters:$array){$string_output += $string_letters;}
echo $string_output;
但这行不通,有什么想法吗?谢谢:)
最佳答案
你会想要使用 foreach并将 +=
更改为 .=
因为我们要附加一个字符串
$string_letters = "c,o,d,e";
$array = explode(",",$string_letters);
shuffle($array); // <- i assume 'suffle' was a spelling mistake
$string_output = "";
foreach ($array as $char)
{
$string_output .= $char;
}
echo $string_output;
如上面链接中所述,foreach 将遍历 $array
中的每个值,将其设置为变量 $char
,以便在该迭代的循环中使用。然后您将 $char
附加到您的 $string_output
您可以重用 $string_letters
而不是 $char
但我个人的偏好是在使用循环进行迭代时使用新变量,这样更容易理解您阅读了代码(因为 $char
没有在其他任何地方使用过,因此不会混淆它的值(value))
另外 2 种方法是确定数组的大小并使用 for loop for($i = 0; $i > $arraysize; $i++)
或在 while loop 中使用 if($i > $arraysize){break;}
关于java - 对于 (字符串 s : letters) {JAVA} How is this in php? 对于 ($string_l1 : $array){PHP}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357533/