$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);
Легко.