Я хочу удалить письмо из всех элементов в массиве и заменить его на строку с помощью PHP.

$numbers = array("18339993993","18303839303"); foreach($numbers as $number) { $number = explode(",", $number); for($i = 0; $i <= count($number); $i++) { $number = substr($number,1, 10); echo $number; } 

пожалуйста, я хочу удалить первое число в каждом элементе массива и заменить его на «999» на все элементы массива.

 I want my output to be like this for each element in the array: $output[0] = "9998339993993" $output[1] = "9998303839303" 

Это должно сработать для вас:

(Здесь я просматриваю каждый элемент массива с помощью array_map() . Затем я возвращаю каждый элемент с 999 в начале плюс исходное значение со смещением 1, которое я получаю с substr() )

 <?php $numbers = array("18339993993","18303839303"); $numbers = array_map(function($v){ return "999" . substr($v, 1); }, $numbers); print_r($numbers); ?> 

Вывод:

 Array ( [0] => 9998339993993 [1] => 9998303839303 ) 

Ближе к коду в вопросе:

 <?php $numbers = array("18339993993","18303839303"); $numbers_after = array(); foreach ($numbers as $number){ $number = "999" . substr($number, 1); array_push($numbers_after, $number); } print_r ($numbers_after); ?> 

Поскольку не было никакого регулярного выражения:

 $numbers = preg_replace('/^\d/', '999', $numbers); 

Легко.