如果$在foreach中以'x'开头?

时间:2013-12-11 16:15:28

标签: php

我希望将$this循环中的foreach值与if/else语句中的字符串相匹配,但我似乎无法获得任何输出?在Javascript中,这种逻辑应该可以工作,但在PHP中却没有。每次迭代都应检查当前值是否为$startLetter作为第一个字母,如果是,则应该回显该值。如果它不以$startLetter开头,则不应该回显该值。

<?php
  $clubFeed = simplexml_load_file('feed.xml');
  $startLetter = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);

  foreach ($clubFeed->club as $clubAtts) {
     $clubNaam = $clubAtts->naam;

     if(strpos($clubNaam, $startLetter) === 0){
       echo $clubNaam;
     }
  }         
?>

2 个答案:

答案 0 :(得分:1)

不幸的是我不理解你的JS语法。我将向您展示一个一般的例子:

foreach($clubFeed as $club) {
    if($club->naam[0] == $startLetter[0]) {
        echo $club->naam;
    }
}

字符串中的单个字符可以通过字符串中的位置访问。

答案 1 :(得分:0)

parse_url需要一个完整的网址,而不仅仅是REQUEST_URI

$url = sprintf("http://%s%s", $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI']);
$parsed = parse_url($url, PHP_URL_QUERY);

这将是正确的语法,但由于您使用的是当前网址,因此您可以使用:

$start_letter = $_SERVER['QUERY_STRING'][0];