0

わかりましたので、ARRAYいくつかのページには 3 つの値があり、いくつかのページには 10 があり、他のページには 0 があります。

ページが値を返す場合、ラベルを1回表示する必要があるため、ループにはなりません。ラベル ->$key_label = '<span class="hl_reference"><u>key references:</u></span>';

ページにラベルがない場合は$reference_keys、ラベルを表示したくないので、$key_label = false;

したがって、値を確認したいのですがARRAY、>= 1 の場合: ラベルも表示されます。

コードが検証されていないようif(array($value => 1) && !$key_label)です。構文が間違っているのでしょうか、それとも別の関数を使用する必要があるのでしょうか?

手伝ってくれてありがとう!

$key_label = false;
$key_label = '<span class="hl_reference"><u>key references:</u></span>';

foreach($reference_keys as $value)
{
    echo $value .'&nbsp;';
}

if(array($value => 1) && !$key_label) 
{
    $key_label = true; 
    echo $key_label;
};

- - - - - - - - - - - - - - - -アップデート - - - - - - - - - -----------

このコードは、参照キーが 1 つしかないページでのみ機能するようです...count is set to >= 1

$key_label = '<span class="hl_reference"><u>key references:</u></span>';

foreach($reference_keys as $value)
{
   echo $value .'&nbsp;';
}
$result = count($value);
if ($result > 1)
{
  echo $key_label;
}   

- - - - - - - - - - - - - - - -アップデート - - - - - - - - - -----------

John C による最新のコードは機能しているように見えますが、$reference_key各ページの 2 番目の直前に「1」が表示されます。ただし、次のページにのみ表示されます$reference_key

$key_flag = false;
$key_label = '<span class="hl_reference"><u>key references:</u></span>';

foreach($reference_keys as $value)
{
if (!empty($value)) {
    if (!$key_flag) {
        echo $key_label;
        $key_label = true;
    }
    echo $value .'&nbsp;';
}
};

- - - - - - - - - - - - - - - -アップデート - - - - - - - - - -----------

John Cはこれを解決しました..以下の作業コード! みんなありがとう!->

$key_flag = false;
$key_label = '<span class="hl_reference"><u>key references:</u></span>';

foreach($reference_keys as $value)
{
if (!empty($value)) {
    if (!$key_flag) {
        echo $key_label;
        **$key_flag = true;**
    }
    echo $value .'&nbsp;';
}
};
4

3 に答える 3

0

カウント機能はあなたを助けるはずです:

if(count($value) >= 1 && !$key_label)
于 2012-07-12T23:14:30.617 に答える
0

あなたのコードにはいくつかの論理的な問題があるようです。まず、$key_labelコンテンツを上書きしていて、以下のコードでは、配列ではないように見える変数でcount()を使用しています。次のコードのようなものを試してください:

$key_flag  = false;
$key_label = '<span class="hl_reference"><u>key references:</u></span>';

foreach( $reference_keys as $value )
{
    echo $value .'&nbsp;';
}

if( count( $reference_keys ) >= 1 && ! $key_label )
{
    $key_flag = true; 
    echo $key_label;
};

または、次のようなより良いソリューションを使用できます。

if( is_array($reference_keys) && count($reference_keys) > 0 )
{
    echo '<span class="hl_reference"><u>key references:</u></span>';

    foreach( $reference_keys as $value )
        echo $value .'&nbsp;';
}

編集1

if( is_array($reference_keys) && count($reference_keys) > 0 )
{
    echo '<span class="hl_reference"><u>key references:</u></span>';

    foreach($reference_keys as $value)
        echo $value .'&nbsp;';
}
于 2012-07-12T23:27:52.913 に答える