Функция может вернуться только один раз.Он не может вернуть несколько вещей в цикле.После того, как он достигает первого возврата, он полностью выходит из функции.Если вы хотите вернуть массив массивов, вы должны использовать следующее:
function listSections() {
$results = array();
$categories = get_categories();
foreach($categories as $category) {
$results[] = array (
"name" => $category->cat_name . " Label Color",
"desc" => "Select a label color.",
"id" => $shortname."_label_color" . $category->cat_ID,
"type" => "select",
"options" => $color_options,
"std" => ""
);
}
return $results;
}
с использованием синтаксиса $ result [] = xyz;добавит xyz в конец массива.Вы можете перебрать возвращенный массив с помощью некоторого кода, например
$results = listSections();
$count = count($results);
for ($i = 0; $i < $count; $i++) {
$category = $results[$i];
echo $category["name"];
etc......
}