如何替换array_value?

时间:2019-01-18 16:49:04

标签: php

$arr = ["250","250","500","500","250"];

这是我的$arr数组。我要替换300而不是500。

示例:

["250","250","300","300","250"]; //Output

这是我的代码

$length = sizeof($arr);

for($i = 0; $i < $length; $i++)
{

 if($arr[$i] <= 300)
 {

 }
 else
 {
      $replace = array($i => "300");
      array_replace($arr, $replace);
 }

}

2 个答案:

答案 0 :(得分:3)

您应该使用str_replace()函数,该函数允许您在字符串和数组中用另一个值替换一个值。

在您的情况下,它将是:

$arr = str_replace("500","300",$arr);

答案 1 :(得分:0)

您可以使用array_replace(),但是它不是按值而是按位置工作,并且array_replace()返回一个新数组,而不是对原始数组进行变异。

由于未使用修改后的数组,因此您可以像下面那样修改代码的else部分;

 ....
 ....
 else
 {
  $replace = array($i => "300");
  $arr2 = array_replace($arr, $replace);
  var_dump($arr2);//this holds the replaced array
 }