У меня есть массив следующим образом:Как создать php-ключи из значений массивов?
$input = array("visit", "outdoor", "parks-trailer");
$input_content = "A Value for last array element for input array."
$another_input = array("visit", "outdoor");
$another_input_content = "A Value for last array element for $input_content array."
И у меня есть некоторый текст, чтобы назначить на последний элемент массива, когда построили.
В принципе, то, что мне нужно, возвращаемый массив будет так:
$output = array(
"visit" => array(
"outdoor" => array(
"A Value for last array element for $input_content array."
"parks-trailer" => "A Value for last array element for input array."
)
)
);
Как я могу это сделать из значений входного массива $, что всегда будет 1 мерными.
$content = 'My Value';
$output = array();
$flipped = array_flip($input);
$count = count($input) - 1;
foreach($flipped as $key => $flip)
{
if ($count >= $key)
$output[$key] = $content;
else
$output[$key] = array();
}
Проблема здесь в том, что array_flip действительно работает, но здесь он не является многомерным? И поэтому array_flip преобразуется в array('visit' => 0, 'outdoor' => 1, 'parks-trailer' => 2)
, но я не понимаю, как заставить его делать многомерный массив, а не сингулярный.
Мне нужно пройти через их кратность и как-то объединить их в глобальный массив, ответ здесь не тот.
Итак, мне нужно объединить каждый 1 из них в другой массив, сохраняя значения, если они существуют. array_merge
не сохраняет значения, array_merge_recursive
не сохраняет одну и ту же ключевую структуру. Как это сделать?
Будет вводный массив всегда будет 1-мерным? – BenM
Нет, это могут быть разные значения из массива –
Как это понимать? Будет ли массив, который вы хотите использовать, всегда быть одномерным? – BenM