Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组中的Foreach循环,获取引用值_Php_Arrays - Fatal编程技术网

Php 数组中的Foreach循环,获取引用值

Php 数组中的Foreach循环,获取引用值,php,arrays,Php,Arrays,我在数组中有一个简单的foreach循环 <?php $colors = array("red", "green", "blue", "yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?> 我想获得该值的出现编号,类似于“$value是X出现编号”,因此文本为: 红色表示0出现 绿色是第一次出现 我该怎么做呢?用这个 <?php $colors = array("r

我在数组中有一个简单的foreach循环

<?php  
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {
  echo "$value <br>";
}
?>  

我想获得该值的出现编号,类似于
“$value是X出现编号
,因此文本为:

红色表示0出现

绿色是第一次出现


我该怎么做呢?

用这个

<?php  
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $key=>$value) {
  echo $value . " is " . $key . " occurence <br>";
}
?>

使用
数组\u计数\u值
函数获得所需结果

$colors = array("red", "green", "blue", "yellow");
$counts = array_count_values($colors);

foreach ($counts as $key=>$value) {
  echo $key."=>".$value."<br>"; 
}
$colors=数组(“红色”、“绿色”、“蓝色”、“黄色”);
$counts=数组\计数\值($colors);
foreach($计为$key=>$value){
echo$key.“=>”$value.“
”; }

请参阅此处的文档

按照我在“评论”部分中的建议尝试以下操作:

<?php  
$colors = array("red", "green", "blue", "yellow");
$occurences = array_count_values($colors);

foreach ($colors as $value) {
   echo "$value is $occurences[$value] <br>";
}
?>  

使用foreach时,您既可以拥有键,也可以拥有值。这里,由于您没有指定键,因此键将是数组元素的索引值。要获取发生率,需要使用
foreach($colors as$index=>$value)


不需要使用外来函数来实现这一点。只需将foreach循环替换为for循环,即可使用现成的索引器:

<?php

    $colors = array("red", "green", "blue", "yellow");

    for ($i = 0; $i < count($colors); ++$i) {
        echo $colors[$i]." is ".$i." occurrence<br>";
    }

?>

或者,但仅因为数组未定义键,您可以使用以下方法:

<?php

    $colors = array("red", "green", "blue", "yellow");

    foreach ($colors as $index=>$value) {
        echo "$value is $index occurrence<br>";
    }

?>


那么您想要每个元素的总数或元素的位置(也称为键)?如果您只想让位置做foreach($arr as$position=>$value)
foreach($key=>$value){echo“$key=>$value
”;}
可能是总数的重复,因为我有一个数组,我需要为所有的位置指定一个特定的ID,这样做:
ID=“carousel-selector-0
ID=”转盘选择器-1
..
红色为0出现
-这是总数吗?
<?php

    $colors = array("red", "green", "blue", "yellow");

    foreach ($colors as $index=>$value) {
        echo "$value is $index occurrence<br>";
    }

?>