I'm studyingphp and now i want to simplify my code using function, for some reason i got an error - Invalid argument supplied for foreach(). And i can't figure out why, because my code worked just fine before i move it in function body, there is it:

$leftMenu = array( array('link'=>'Домой', 'href'=>'index.php'), array('link'=>'О нас', 'href'=>'about.php'), array('link'=>'Контакты', 'href'=>'contact.php'), array('link'=>'Таблицы умножения', 'href'=>'table.php'), array('link'=>'Калькулятор', 'href'=>'calc.php') ); function drawMenu ($leftMenu, $vertical = true){ '<ul>'; foreach ($leftMenu as $value){ echo('<li><a href="'.$value['href'].'">'.$value['link'].'</a></li>'); } '</ul>'; }

Any advice would be appreciated, thanks! I also want to notice that code above WORK, but it did print error.

I see some mistakes in your code since you are not printing any <ul> . For the correct use of the function you need to pass the data, in your case the $leftMenu array

function drawMenu ($leftMenu, $vertical = true) { echo '<ul>'; foreach ($leftMenu as $value) { echo '<li><a href="'.$value['href'].'">'.$value['link'].'</a></li>'; } echo '</ul>'; }

Now call the function


This should print your list. As side note i noticed you place second parameter in your function $vertical = true but you didn't use actually.

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

本文标题:Obtain an error by moving the code in the body of the function - Invalid argumen ...

技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(11)