Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL.https://www.php.net/manual/ru/function.mysql-conne...
Смысл двух разных вариантов для операторов "and" и "or" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).
&&
- 15 строка, =
- 19 строка, and
- 23 строка.$bool = true and false;
=> ($bool = true) and false;
$bool = true && false;
=> $bool = (true && false);
'lastname' => $data->message->from->last_name ?? null,
<?php
$data = [
[
'id' => 1,
'parent_id' => 100,
'name' => 'Стулья'
], [
'id' => 2,
'parent_id' => 100,
'name' => 'Столы'
], [
'id' => 5,
'parent_id' => 1,
'name' => 'Стул Сакура',
'price' => 5691,
'img' => 'lorempixel.com/900/900/?q=5',
'props' => []
], [
'id' => 9,
'parent_id' => 2,
'name' => 'Стол Византия',
'price' => 5268,
'img' => 'lorempixel.com/900/900/?q=9',
'props' => []
]
];
function build_tree($data, $id) {
$result = [];
foreach ($data as $el) {
if ($el['parent_id'] == $id) {
$newEl = $el;
$childs = build_tree($data, $el['id']);
if (count($childs) !== 0) {
$newEl['childs'] = $childs;
}
$result[] = $newEl;
}
}
return $result;
}
$tree = build_tree($data, 100);
print_r($tree);
/*
Array (
[0] => Array (
[id] => 1
[parent_id] => 100
[name] => Стулья
[childs] => Array (
[0] => Array (
[id] => 5
[parent_id] => 1
[name] => Стул Сакура
[price] => 5691
[img] => lorempixel.com/900/900/?q=5
[props] => Array ()
)
)
)
[1] => Array (
[id] => 2
[parent_id] => 100
[name] => Столы
[childs] => Array (
[0] => Array (
[id] => 9
[parent_id] => 2
[name] => Стол Византия
[price] => 5268
[img] => lorempixel.com/900/900/?q=9
[props] => Array ()
)
)
)
)
*/
<?php
function tree($dirName) {
$tree = [];
$dir = opendir($dirName);
while (($entry = readdir($dir)) !== false) {
if ($entry === '.' || $entry === '..') {
continue;
}
$fullName = "{$dirName}\\{$entry}";
if (is_dir($fullName)) {
$tree[] = [
'name' => $entry,
'type' => 'dir',
'entries' => tree($fullName)
];
} else {
$tree[] = [
'name' => $entry,
'type' => 'file'
];
}
}
return $tree;
}
print(json_encode(tree('C:\\test'), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
/* [
{
"name": "dir1",
"type": "dir",
"entries": [
{
"name": "dir2",
"type": "dir",
"entries": [
{
"name": "file5",
"type": "file"
}
]
},
{
"name": "file1",
"type": "file"
},
{
"name": "file3",
"type": "file"
}
]
},
{
"name": "file2",
"type": "file"
}
] */
$json = '{"id":1,"title":"\u041c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u0441\u0435\u043c\u044c\u0438","description":"\u0427\u0435\u043b\u043b\u0435\u043d\u0434\u0436 #\u041c\u043e\u044f\u0421\u0435\u043c\u044c\u044f_\u0421\u043a\u0432\u043e\u0437\u044c\u0433\u043e\u0434\u0430. \u0421\u0435\u043c\u044c\u044f\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0440\u043e\u0432\u0430\u0442\u044c"}';
$data = json_decode($json);
var_dump($data);
/* object(stdClass)#1 (3) {
["id"]=>
int(1)
["title"]=>
string(46) "Международный день семьи"
["description"]=>
string(125) "Челлендж #МояСемья_Сквозьгода. Семьям предлагается реконструровать"
} */