<?php
ini_set('display_errors', 1);
error_reporting(-1);
echo show_me_error;
php_value error_reporting 7
7
это E_ERROR | E_WARNING | E_PARSE
при такой настройке notice'ы не выводятсяphp_value error_reporting -1
<?php
$str = 'Супер корявое название позиции артикул 12312 серийник 213123 123 456 789,00
Еще строка 123,00
И еще строка 1,99';
$re = '/[^\d,]*([\d, ]+)$/ms';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
var_dump(array_column($matches, 1));
/*
array(3) {
[0]=>
string(21) "213123 123 456 789,00"
[1]=>
string(6) "123,00"
[2]=>
string(4) "1,99"
}
*/
MYSQLI_OPT_INT_AND_FLOAT_NATIVE
Преобразовывает столбцы типов integer и float к числам PHP, а не строкам. Работает только с mysqlnd.
<?php
$a = 'test';
class Cls {
public function __construct($a) {
$this->a = $a;
}
public function printer(){
echo $this->a;
}
}
$get = new Cls($a);
$get->printer();
<?php
$prices = [5000, 2350, 4200, 4000, 3000, 4500];
$avg_price = round(array_sum($prices) / count($prices), 2);
foreach($prices as $price)
{
$abs_diff = round(abs($price-$avg_price)/$avg_price*100, 2);
echo "Цена {$price} на {$abs_diff}% ".
($price > $avg_price ? "дороже" : "дешевле")." чем средняя {$avg_price}\n";
}
Цена 5000 на 30.15% дороже чем средняя 3841.67
Цена 2350 на 38.83% дешевле чем средняя 3841.67
Цена 4200 на 9.33% дороже чем средняя 3841.67
Цена 4000 на 4.12% дороже чем средняя 3841.67
Цена 3000 на 21.91% дешевле чем средняя 3841.67
Цена 4500 на 17.14% дороже чем средняя 3841.67
не ужели у вас в практике не было случая, когда нужно было юзать цикл внутри цикла ? Как вы с этим боролись
Очень часто вижу на разных форумах, в коммах в вк и тд юзать цикл внутри цикла не правильно
<?php
$arr = [
0 => ['key1' => 'value1'],
1 => ['key2' => 'value2'],
2 => ['key3' => 'value3'],
];
foreach($arr as $data)
{
$key = array_keys($data)[0];
$val = $data[$key];
echo "{$key}: {$val}\n";
}
//key1: value1
//key2: value2
//key3: value3