简单PHP函数中的数组


Array in simple PHP function

只是在PHP中学习一些东西,并尝试为运行的导航获得简单的功能

function navigation($pages) {
            $pages = array($pages);
            if($pages) { 
                echo "<ul class=nav>";
                    foreach($pages as $id => $page) { 
                    echo "<li><a href='"page.php?id={$id}'">";
                    echo strtoupper($page) . "</a>";
                    }
                echo "</ul>";
            }
        }

尽管此函数仅返回第一个值

navigation("Home", "About us", "Contact us");

是否可以将函数值放入变量?我不确定我在这里做错了什么。

删除此:

$pages = array($pages);

相反,调用这样的函数:

navigation( array("Home", "About us", "Contact us") );

请注意,您不应该像这样输出HTML:

echo";

但是要确保CSS类名用引号括起来。为了实现这一点,您可以使用转义的双引号:

echo";

或者,这将是我个人的偏好,外部字符串中的单引号和内部的正常双引号:

echo";

一般来说,你可以使用单引号来定义PHP中的任何字符串,只有一个例外,那就是当你想在字符串中放入特殊字符时,比如:

  • ''n
  • ''r
  • ''t

等等。这些可能无法在单引号字符串中正确解释。

以下是您的navigation()函数的更精细版本:

function navigation(array $pages) {
    if(!$pages)
        return;
    echo '<ul class="nav">';
    foreach ($pages as $id => $page) {
        echo '<li><a href="page.php?id=' . $id . '">';
        echo strtoupper($page) . '</a>';
    }
    echo '</ul>';
}
<?php
function myFunction($text){
    return md5($text);
}
$array = array(myFunction("Text to be MD5"), myFunction("More Sample Text"));
foreach($array as $value){
    echo $value;
    echo "<br>";
}
?>

这就是你想要的吗
您可以将函数的输出放入数组
输出:

d41d8cd98f00b204e9800998ecf8427e
a95486400f22cfa1ce6ae3a8cacae1e4