«Предупреждение: для foreach() указан неверный аргумент»Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 «Предупреждение: для foreach() указан неверный аргумент»

Сообщение Anonymous »

Я постоянно получаю следующее предупреждение, указанное ниже в строке 3.
Warning: Invalid argument supplied for foreach()

Вот PHP-код.
function dyn_menu($parent_array, $sub_array, $qs_val = "menu", $main_id = "nav", $sub_id = "subnav", $extra_style = "foldout") {
$menu = "
  • \n";
    foreach ($parent_array as $pkey => $pval) {
    if (!empty($pval['count'])) {
    $menu .= "
  • ".$pval['label']."\n";
    } else {
    $menu .= "
  • ".$pval['label']."\n";
    }
    if (!empty($_REQUEST[$qs_val])) {
    $menu .= "\n";
    foreach ($sub_array as $sval) {
    if ($pkey == $_REQUEST[$qs_val] && $pkey == $sval['parent']) {
    $menu .= "
  • ".$sval['label']."\n";
    }
    }
    $menu .= "
\n";
}
}
$menu .= "\n";
return $menu;
}

Вот весь код, над которым я работаю.
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT id, label, link_url, parent_id FROM dyn_menu ORDER BY parent_id, id ASC");

if (!$dbc) {
// There was an error...do something about it here...
print mysqli_error();
}

while ($obj = mysqli_fetch_assoc($dbc)) {
if (empty($obj['parent_id'])) {
echo $parent_menu . $obj['id']['label'] = $obj['label'];
echo $parent_menu . $obj['id']['link'] = $obj['link_url'];
} else {
echo $sub_menu . $obj['id']['parent'] = $obj['parent_id'];
echo $sub_menu . $obj['id']['label'] = $obj['label'];
echo $sub_menu . $obj['id']['link'] = $obj['link_url'];
echo $parent_menu . $obj['parent_id']++;
}
}
mysqli_free_result($dbc);

function dyn_menu($parent_array, $sub_array, $qs_val = "menu", $main_id = "nav", $sub_id = "subnav", $extra_style = "foldout") {
$menu = "
  • \n";
    foreach ($parent_array as $pkey => $pval) {
    if (!empty($pval['count'])) {
    $menu .= "
  • ".$pval['label']."\n";
    } else {
    $menu .= "
  • ".$pval['label']."\n";
    }
    if (!empty($_REQUEST[$qs_val])) {
    $menu .= "\n";
    foreach ($sub_array as $sval) {
    if ($pkey == $_REQUEST[$qs_val] && $pkey == $sval['parent']) {
    $menu .= "
  • ".$sval['label']."\n";
    }
    }
    $menu .= "
\n";
}
}
$menu .= "\n";
return $menu;
}

function rebuild_link($link, $parent_var, $parent_val) {
$link_parts = explode("?", $link);
$base_var = "?".$parent_var."=".$parent_val;
if (!empty($link_parts[1])) {
$link_parts[1] = str_replace("&", "##", $link_parts[1]);
$parts = explode("##", $link_parts[1]);
$newParts = array();
foreach ($parts as $val) {
$val_parts = explode("=", $val);
if ($val_parts[0] != $parent_var) {
array_push($newParts, $val);
}
}
if (count($newParts) != 0) {
$qs = "&".implode("&", $newParts);
}
return $link_parts[0].$base_var.$qs;
} else {
return $link_parts[0].$base_var;
}
}

echo dyn_menu($parent_menu, $sub_menu, "menu", "nav", "subnav");


Подробнее здесь: https://stackoverflow.com/questions/162 ... or-foreach
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»