Я создал несколько функций для создания древовидной структуры, и в этом случае я использую часть следующего фрагмента для добавления дочернего массива, если существует хотя бы один дочерний элемент.
<?php
function addArrayIfNotEmpty($entire_array, $key, $childArray){
/*
### BEGIN: Possible as one line? ###
*/
if (count($childArray) > 0) {
$entire_array[$key] = $childArray;
}
/*
### END: Possible as one line? ###
*/
return $entire_array;
}
$my_array = array();
$first_array = array("orange", "banana");
$second_array = array();
$my_array = addArrayIfNotEmpty($my_array, "first", $first_array);
$my_array = addArrayIfNotEmpty($my_array, "second", $second_array);
var_dump($my_array);
В моем реальном коде я использую только условие if между комментариями с «BEGIN» и «END», но я хотел бы изменить это условие if на одну строку.
Я думал примерно так:
$entire_array[$key] = count($childArray) > 0 ? $childArray : null;
Но в этом случае я получу пустой (ненужный) дочерний массив.
Что мне делать в этом случае? чехол?