2012-03-01 7 views
1

私は単に構文が間違っていると思っていますが、私の人生ではわかりません。私は3つの要素を持つ入れ子配列を持っています。配列全体が返されない

$screenshot = array(array(Carousel => "Library.png", Caption => "Long caption for the library goes here", ListItem => "The Library")); 

私は要素を含むいくつかのHTMLを構成するためにforループを使用しています。

私の問題は、「a」タグの「タイトル」部分に最初の単語「ロング」のみが含まれていることです。したがって、上記の場合、それは次のようになります:

<div class="feature-title"><a href="/images_carousel/1A-Library.png" title="Long" caption for the library goes here rel="lightbox[list]" class="cboxElement">The Library</a></div> 

誰かが私の間違いを晴らすことができますか?前もって感謝します。

答えて

1

属性値を二重引用符で忘れてしまったため、最初の単語だけがカウントされます。残りは(無効な)属性名になります。

+0

ありがとう、私はそれが何か単純でなければならないことを知っていた。 – Bill

1

配列索引は二重引用符で囲んでください。つまり、文字列インデックスの場合は"です。 Starxとイグナシオが述べたように

$screenshot = array( 
    array( 
     "Carousel" => "Library.png", 
     "Caption" => "Long caption for the library goes here", 
     "ListItem" => "The Library") 
    ); 
+0

私はそれを両方の方法で行うことについて読んだことがありますが、私はこのルートに固執します。 – Bill

0

echo "<div class=\"feature-title\"><a href='" . $carousel_dir . $screenshot[$row]["Carousel"] . "' title='" . $screenshot[$row]["Caption"] . "' rel=\"lightbox[list]\">" . $screenshot[$row]["ListItem"] . "</a></div>"; 
+0

あなたは 'href'の引用符を忘れました。 – apfelbox

1

このコードを使用してください、配列のキーパーツは引用符で囲む必要があります。しかし、一重引用符か二重引用符かどうかは関係ありません。

PHPのお知らせ:: - ラインのbadarray.phpで仮定「カルーセル」未定義の定数カルーセルの使用あなたが(代わりにE_ALL &〜E_NOTICEのE_ALLのような)より詳細なログ記録をオンにする場合は、このようなメッセージを取得します3

PHPのお知らせ:未定義の定数キャプションの使用 - ライン3

PHP通知にbadarray.phpで 'キャプション' を仮定:未定義の定数のListItemの使用 - 仮定 'のListItem' 行3

にbadarray.phpに

PHPはそれらの名前で定義された定数を見つけようとします。それが見つからないときは、あなたはその値の文字列を意味すると仮定します。つまり、 "Carousel"、 "Caption"または "ListItem"という名前の定数を定義した場合、定義した配列のキー値が変更されます。

私が見る他の問題は、部分的なコードしか含まれていないことがあります。外側の配列の内部に1つの配列しかないので、$ screenshot [$ row]にアクセスすると、あなたのループは0行を超えて$行をインクリメントします。

その配列を使用して出力しようとしているものを提供できれば、そのコードを構築する手助けができます。