0

提案結果はこちら私は PHP の初心者であり、すべての行で foreach ステートメントを使用して非 null 値を表示したいと考えています. コードは次のとおりです. あなたのサポートに感謝します.

<?php

       foreach ($customer['Stocks'] as $stock ) { ?>
       <tr>
          <td><?php echo $stock['stsymbol']?><td>
          <td><?php echo $stock['noshares']?><td>
          <td><?php echo $stock['purchaseprice']?><td>
          <td><?php echo $stock['datepurchased']?><td>
          <td><?php echo $stock['Original Value']; ?><td>
          <td><?php echo $stock['Current Price'];?><td>
          <td><?php echo $stock['Current Value']?><td>
<?php } // end foreach ?>
4

4 に答える 4

1
<?php
    foreach ($customer['Stocks'] as $stock ) {
        if( ! empty($stock['stsymbol'])){ ?>
        <tr>
            <td><?php echo $stock['stsymbol']?><td>
            <td><?php echo $stock['noshares']?><td>
            <td><?php echo $stock['purchaseprice']?><td>
            <td><?php echo $stock['datepurchased']?><td>
            <td><?php echo $stock['Original Value']; ?><td>
            <td><?php echo $stock['Current Price'];?><td>
            <td><?php echo $stock['Current Value']?><td>
        </tr>
<?php
        } // end if
    } // end foreach ?>
于 2013-07-17T07:40:33.123 に答える
0

三項演算子を使用して「null」値を表示するか、それ以外の場合は空の文字列を表示します。

<?php
    foreach ($customer['Stocks'] as $stock ) { ?>
    <tr>
        <td><?php echo ($stock['stsymbol'] == NULL) ? $stock['stsymbol'] : ''; ?></td>
        <td><?php echo ($stock['noshares'] == NULL) ? $stock['noshares'] : ''; ?></td>
        <td><?php echo ($stock['purchaseprice'] == NULL) ? $stock['purchaseprice'] : ''; ?></td>
        <td><?php echo ($stock['datepurchased'] == NULL) ? $stock['datepurchased'] : ''; ?></td>
        <td><?php echo ($stock['Original Value'] == NULL) ? $stock['Original Value'] : ''; ?></td>
        <td><?php echo ($stock['Current Price'] == NULL) ? $stock['Current Price'] : ''; ?></td>
        <td><?php echo ($stock['Current Value'] == NULL) ? $stock['Current Value'] : ''; ?></td>
    </tr>
<?php } // end foreach ?>

あなたがアイデアを得ることを願っています

于 2013-07-17T07:30:18.163 に答える
0

次のように、前に配列をウォークスルーできます。

foreach($customer['stocks'] as $key => $value) {

    if(empty($value)) {

        $customer['stocks'][$key] = '-';


    }

}

表示コードを読みやすくします。

foreach ($customer['Stocks'] as $stock ) {

    echo('<tr>
      <td>'.$stock['stsymbol'].'<td>
      <td>'.$stock['noshares'].'<td>
      <td>'.$stock['purchaseprice'].'<td>
      <td>'.$stock['datepurchased'].'<td>
      <td>'.$stock['Original Value'].'<td>
      <td>'.$stock['Current Price'].'<td>
      <td>'.$stock['Current Value'].'<td>
    </tr>');

}
于 2013-07-17T07:30:45.237 に答える
-1
<td><?= strlen($stock['stsymbol'])!==0? $stock['stsymbol'] : '-' ?><td>

エコーをこれに置き換えます。これが短い方法です。

// These do the same:
<td><?php echo $something; ?></td>
<td><?= $something ?></td>

次に、エコーで、次のように機能する短い if/else (三項) を作成しました。

if( strlen($var)===0 ){ echo 'true'; } else{ echo 'false'; }
echo strlen($var)===0 )? 'true' : 'false'; 
// (condition) ? (if true) : (if false);

の代わりにstrlen($var)!==0isset($var)$var===NULL

于 2013-07-17T07:24:25.977 に答える