如何连接PHP变量以在菜单中使用

时间:2012-09-26 00:30:19

标签: php html string-concatenation concat

我不是PHP人,但我相信PHP可以用来实现这一点。

基本上我在主菜单中使用相同的绝对路径+ / about,/ blog等因此很好地认为我的文件已经是PHP为什么不使用Var来做这个:)(我来自Flash AS背景)

测试链接:http://s433108212.onlinehome.us/

这是我在下面尝试过的,但无济于事:(

<div id="nav_bar">

<?php $athenasweburl = 'http://s433108212.onlinehome.us/'; ?>

<ul class="nav">
    <li class="<?php echo $page === 'home' ? "selected" : "" ?>"><a href="<?php $athenasweburl; ?>">Home</a></li>
    <li class="<?php echo $page === 'about' ? "selected" : "" ?>"><a href="<?php echo ($athenasweburl+'about'); ?>">About</a></li>
    <li class="<?php echo $page === 'blog' ? "selected" : "" ?>"><a href="<?php $athenasweburl+'blog'; ?>">Blog</a></li>
    <li class="<?php echo $page === 'book' ? "selected" : "" ?>"><a href="<?php $athenasweburl+'book'; ?>">Book</a></li>
    <li class="<?php echo $page === 'events' ? "selected" : "" ?>"><a href="<?php $athenasweburl+'events'; ?>">Events</a></li>
    <li class="<?php echo $page === 'services' ? "selected" : "" ?>"><a href="<?php $athenasweburl+'services'; ?>">Services</a></li>
    <li class="<?php echo $page === 'contact' ? "selected" : "" ?>"><a href="#dialog" name="modal">Contact</a></li>
    <li class="search"><input type="text" onfocus="if(this.value == 'Search') { this.value = ''; }" value="Search" /></li>
    <li class="search_btn"><a href="#" title="Lets find it!"><div class="search_go">Go</div></a></li>
</ul>

任何想法?

4 个答案:

答案 0 :(得分:1)

您不输出网址。请注意在第二节中添加了echo

<li class="<?php echo $page === 'home' ? "selected" : "" ?>"><a href="<?php echo $athenasweburl; ?>">Home</a></li>

连接使用.,而非+

<li class="<?php echo $page === 'about' ? "selected" : "" ?>"><a href="<?php echo $athenasweburl . 'about'; ?>">About</a></li>

答案 1 :(得分:1)

在PHP中将数字加在一起..你要找的是粘合字符串..用+符号替换。 (点),以及每个字符串前面的回声,它应该可以工作。

<div id="nav_bar">

<?php
$menu = array("home","about","blog","book","events","services");
function echoListItem($item){
    global $page;
    $url = 'http://s433108212.onlinehome.us/';
    if($item != "home") $url .= $item;
    $selected = $item == $page ? 'selected' : '';
    echo '<li class="'.$selected.'"><a href="'.$url.'">'.ucfirst($item).'</a></li>';
}
?>

<ul class="nav">
    <?php array_walk($menu, 'echoListItem'); ?>
    <li class="<?php echo $page === "contact" ? "selected" : "" ?>"><a href="#dialog" name="modal">Contact</a></li>
    <li class="search"><input type="text" onfocus="if(this.value == 'Search') { this.value = ''; }" value="Search" /></li>
    <li class="search_btn"><a href="#" title="Lets find it!"><div class="search_go">Go</div></a></li>
</ul>

这应该差不多!

答案 2 :(得分:1)

PHP使用点符号“。”要连接变量和字符串等。要将字符串“blog”连接到$ athenasweburl,您可以使用

  $athenasweburl = $athenasweburl."blog/";
  echo $athenasweburl; //http://s433108212.onlinehome.us/blog/

希望有所帮助。

答案 3 :(得分:0)

我很久以前就遇到了类似的问题。

假设您还在其他地方定义了$ page ...

<div id="nav_bar">

<?php $athenasweburl = 'http://s433108212.onlinehome.us/'; ?>

<ul class="nav">
    <li class="<?php echo ($page === "home" ? "selected" : "") ?>"><a href="<?php $athenasweburl; ?>">Home</a></li>
    <li class="<?php echo ($page === "about" ? "selected" : "") ?>"><a href="<?php echo ($athenasweburl+'about'); ?>">About</a></li>
    <li class="<?php echo ($page === "blog" ? "selected" : "") ?>"><a href="<?php $athenasweburl.'blog'; ?>">Blog</a></li>
    <li class="<?php echo ($page === "book" ? "selected" : "") ?>"><a href="<?php $athenasweburl.'book'; ?>">Book</a></li>
    <li class="<?php echo ($page === "events" ? "selected" : "") ?>"><a href="<?php $athenasweburl.'events'; ?>">Events</a></li>
    <li class="<?php echo ($page === "services" ? "selected" : "") ?>"><a href="<?php $athenasweburl.'services'; ?>">Services</a></li>
    <li class="<?php echo $page === "contact" ? "selected" : "") ?>"><a href="#dialog" name="modal">Contact</a></li>
    <li class="search"><input type="text" onfocus="if(this.value == 'Search') { this.value = ''; }" value="Search" /></li>
    <li class="search_btn"><a href="#" title="Lets find it!"><div class="search_go">Go</div></a></li>
</ul>