Intereting Posts
Преобразование строк Mongodb на сегодняшний день Атрибуты поля объекта Symfony 2 Разбор доменного имени только из URL-адреса в PHP Как использовать PHP для сравнения одной переменной с любым экземпляром нечетного числа другой переменной? вызов неопределенного метода DateTime :: add method в php Как установить расширение PHP локально на WAMP? Можно ли читать / получать доступ к значениям сканера штрих-кода, используя PHP и MySQL? Избегайте общей папки laravel и открывайте непосредственно корень на веб-сервере Laravel 5.2 Вспышка сеанса не работает даже с веб-промежуточным программным обеспечением PHP – принимать значение из базы данных и устанавливать в качестве значения тега HTML select Почему var_dump показывает имя файла и номер строки? Неустранимая ошибка: исключить исключение SoapFault: Ошибка аутентификации Как вы можете получить vars в url, используя php? Дублировать уведомления Apple APNS push? почему мой php.ini не найден?

Удаление значений с более чем двумя десятичными знаками в массиве

У меня есть массив с кусками значений.

$value = array( array(3075,15,461.25,16,535.05), array(3075,15,461.25808,16,535.05),//to be removed array(3075,15,461.2,16,535.05234)//to be removed ); 

Мне нужно удалить строки, которые имеют значения с более чем двумя десятичными знаками. Как мне это сделать?

Вы можете использовать strlen(substr(strrchr($x, "."), 1)) для подсчета десятичных знаков и array_filter для удаления любого значения массива с более чем двумя десятичными знаками

 $value = array( array(3075,15,461.25,16,535.05), array(3075,15,461.25808,16,535.05),//to be removed array(3075,15,461.2,16,535.05234)//to be removed ); $value = array_filter($value, function ($v) { foreach ($v as $x) { if (strlen(substr(strrchr($x, "."), 1)) > 2) return false; } return true; }); var_dump($value); 

Вывод

 array (size=1) 0 => array (size=5) 0 => int 3075 1 => int 15 2 => float 461.25 3 => int 16 4 => float 535.05