У меня есть массив, как, например:PHP заменить значение массива на основе определенных требований
$array = ["1","0","0","1","1"]
//replace with
$newArray = ["honda","toyota","mercedes","bmw","chevy"]
// only if the original array had a value of "1".
// for example this is my final desired output:
$newArray = ["honda","0","0","bmw","chevy"]
Я хочу изменить каждое значение в определенном порядке, если и только если значение массива равно «1».
Например, значения «honda», «toyota», «mercedes», «bmw», «chevy» должны заменять только значения массива, если значение «1» в противном случае не заменяет его, и они должны быть в правой позиции, например, первый элемент в массиве должен быть заменен только на honda, а не на toyota или на любые другие значения.
Я знаю, что я должен перебирать массив и обеспечить, если заявление, как например:
foreach($array as $val) {
if($val == 1){
//do something
} else {
return null;
}
}
Пожалуйста направьте меня в правильном направлении, и описать, как заменить значения в порядке, так что Тойота не может заменить первое значение массива - только вторая позиция.
мне нравится ваш ответ, как распечатать массив значений только если они не 0, используя функцию implode, и я полагаю, что оператор IF? – AntonB
Вы гений, цените помощь, the implode работал GREAT, превратил это в функцию, которая вернет вложенные значения. – AntonB
Ницца - вам лучше «отменить» ($ array [$ key) »в другом состоянии вашего оригинального оператора if в foreach, вместо того, чтобы его фильтровать в конце. –