5

いくつかの配列値を順不同 () リストにマップしようとしています。

    <?php
            $files = scandir($dir);
            //remove "." and ".."
            print_r($files);
    ?>

    <ul>
        <?php foreach($files as $file): ?>
            <li><?= $file ?></li>
        <?php endforeach; ?>
    </ul>

<li>要素に箇条書きを与えるため、配列を正しく反復処理します。ただし、これらの箇条書きの横には文字列出力が表示されません。また、配列をprint_rすると、値がそこにあります。

出力は次のようになり、正しい数の箇条書きが表示されますが、その横にテキストはありません。

.
.
.

ここで何が間違っていますか?前もって感謝します。

4

5 に答える 5

4
<?php foreach($files as $file): ?>
    <li><?php echo $file ?></li>
<?php endforeach; ?>

また

<?php foreach($files as $file): ?>
    <li><? echo $file ?></li>
<?php endforeach; ?>
于 2012-04-14T06:56:05.483 に答える
3

これについてはわかりませんが、これはうまくいくかもしれません:

<?php
  $files = scandir($dir);
  //remove "." and ".."
  print_r($files);
?>

<ul>
  <?php foreach($files as $file) { ?>
  <li><?php echo $file; ?></li>
  <?php } ?>
</ul>

それが私が使用するものであり、これが機能しない場合は、$dir変数に何も含まれていない (エラーがある) 可能性があります。<? ?>タグがすべてのサーバーで互換性があるとは思わないため、元のコードが機能しなかった理由の 1 つです。また、私が知っていることから<?=$var ?>、phpには何もありません。ASPなどにしか存在しないと思っていました。

編集:中括弧の劣等性に関するあなたの質問への回答として、それらは PHP で一般的に受け入れられている標準です。これは、C/C++/C# ファミリでは異なる可能性がありますが、わかりません。

于 2012-04-14T06:56:38.230 に答える
2

php.ini で並べ替えタグを置き換えるか、有効にし<?= $file ?>ます。<?php echo $file ?>サーバーが有効になっていないようです。

于 2012-07-12T13:10:10.720 に答える