array_map(function (Value $value) {
return [
'label' => $value->characteristic->name,
'value' => $value->value,
];
}, $product->values);
$answers['answers'] = array_map(function ($item) {
return [
'id' => $item['qid'],
'aid' => $item['aid'],
];
}, $query);
//объявляем функцию, которая принимает один параметр - путь к папке
function dir_size($dir) {
//в эту переменную будем накапливать размеры всех найденных файлов
$totalsize=0;
//открываем папку
if ($dirstream = @opendir($dir)) {
//перебираем все найденные файлы и папки
while (false !== ($filename = readdir($dirstream))) {
// если это не сама папка и не её родитель
if ($filename!="." && $filename!=".."){
//если это файл - накапливаем его размер
if (is_file($dir."/".$filename)) $totalsize+=filesize($dir."/".$filename);
//если это папка - уходим в рекурсию и накапливаем её результат
if (is_dir($dir."/".$filename)) $totalsize+=dir_size($dir."/".$filename);
}
}
}
//закрываем папку
closedir($dirstream);
//возвращаем накопленное значение размеров
return $totalsize;
}
$title
$error = null;
или передавайте из контроллера. Либо вообще эту проверку удалите.$error = null;
И этнкст ошибки высветился бы флеш сообщением. Если вам не нужно показывать ошибки - уберите. Или сделайте реализацию в контроллере. $mail
, а не $email
?$email_a = 'joe@example.com';
$email_b = 'bogus';
if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "E-mail адрес '$email_a' указан верно.\n";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "E-mail адрес '$email_b' указан верно.\n";
} else {
echo "E-mail адрес '$email_b' указан неверно.\n";
}
$id
, $login
, а не массив $userData
, из которого потребуется извлекать эти данные, проверять их тип и существование. При таком подходе вы можете использовать типизацию и будете уверены в переданных данных.contactor_id
или изменить название связи getContactorRelation
$model->contractor
вы получаете id. Сначала ищется свойство, а потом связь. $people = array(
array("name"=>"Bob","age"=>8,"colour"=>"red"),
array("name"=>"Greg","age"=>12,"colour"=>"blue"),
array("name"=>"Andy","age"=>5,"colour"=>"purple"));
var_dump($people);
$sortArray = array();
foreach($people as $person){
foreach($person as $key=>$value){
if(!isset($sortArray[$key])){
$sortArray[$key] = array();
}
$sortArray[$key][] = $value;
}
}
$orderby = "name"; //change this to whatever key you want from the array
array_multisort($sortArray[$orderby],SORT_DESC,$people);
var_dump($people);
Output from first var_dump:
[0]=>
array(3) {
["name"]=>
string(3) "Bob"
["age"]=>
int(8)
["colour"]=>
string(3) "red"
}
[1]=>
array(3) {
["name"]=>
string(4) "Greg"
["age"]=>
int(12)
["colour"]=>
string(4) "blue"
}
[2]=>
array(3) {
["name"]=>
string(4) "Andy"
["age"]=>
int(5)
["colour"]=>
string(6) "purple"
}
}
Output from 2nd var_dump:
array(3) {
[0]=>
array(3) {
["name"]=>
string(4) "Greg"
["age"]=>
int(12)
["colour"]=>
string(4) "blue"
}
[1]=>
array(3) {
["name"]=>
string(3) "Bob"
["age"]=>
int(8)
["colour"]=>
string(3) "red"
}
[2]=>
array(3) {
["name"]=>
string(4) "Andy"
["age"]=>
int(5)
["colour"]=>
string(6) "purple"
}