有没有办法不复制foreach loop
中的特定数组?
这是代码
<?php
$letters = array("A","B","B","C");
foreach ($letters as $char){
if ($char == "B") {
continue;
}
echo $char;
}
?>
我希望我的输出仅为ABC
而不是AC
答案 0 :(得分:2)
您可以先删除非唯一元素:
foreach(array_unique($letters) AS $char)
答案 1 :(得分:0)
尝试
<?php
$letters = array("A","B","B","C");
$letters = array_unique($letters);
foreach ($letters as $char){
echo $char;
}
?>
答案 2 :(得分:0)
复制数组使用
$a = array("A","B","B","C");
$b = array_unique($a); // $b will be a different array with unique values
没有必要使用foreach。在PHP中,默认情况下,变量不是通过引用分配的,而是通过值分配的,除非您使用&
运算符。
另一种方法是使用array_merge()
$a = array("A","B","B","C");
$b = array();
$b = array_merge(array_unique($a), $b);
在这两种情况下,结果都是A B C