2017-04-22 8 views
-1

私は機能に問題があります。すべての配列を表示して「自動カウント」できるかどうか マイコード:PHPで配列の識別番号を表示

$mrJackMaker = 'mrjack'; 

$aromatyMrJack = array(
    'Arbuz' => $mrJackMaker.'1', 
    'Banan'=> $mrJackMaker.'2', 
    'Czarna porzeczka'=> $mrJackMaker.'3' 
); 

foreach($aromatyMrJack as $key => $value) 
{ 
    echo $key." ". $value . "<br>"; 
} 

どのように取得するには、このコードを書く:

  • Arbuzが
  • バナンはCzarnaは、自動カウント値で1をmrjack3

をporzeczka

  • をmrjack2をmrjack1 2、3 ... Plsヘルプ。

  • +0

    予想される出力は? –

    +0

    外部ページにリンクするのではなく、質問にコードを含めてください。 – Pharaoh

    +0

    はデモです:http://katalogliquidow.mrqzi.webd.pl/form_test.php –

    答えて

    1

    ここには簡単な解決策があります。

    <?php 
    
        $mrJackMaker = 'mrjack-'; 
        $arr = array(
           'Arbuz' => $mrJackMaker, 
           'Banan'=> $mrJackMaker, 
           'Czarna porzeczka'=> $mrJackMaker, 
           'Czarna '=> $mrJackMaker 
          ); 
    
        $i = 0; 
    
        foreach($arr as $key => $value) 
        { 
         $i++; 
         echo "Key is: ".$key." value is: ". $value.$i."<br>"; 
        } 
    

    出力は、この何かのリンクです:

    Key is: Arbuz value is: mrjack-1 
    Key is: Banan value is: mrjack-2 
    Key is: Czarna porzeczka value is: mrjack-3 
    Key is: Czarna value is: mrjack-4 
    

    は、そのあなたの要件を満たすことを望みます!

    +0

    ありがとうございました! –

    +0

    You'r大歓迎の友達@トーマス。楽しむ :) –

    0

    実際非連想配列を用いて、(foreachで)キー代わりにカウンタをインクリメントを使用することができる(下記のコードで$index)を使用することができる数値であることができます。

    <?php 
    
    $suffix = 'mrjack-'; 
    $names = array(
          'Arbuz', 
          'Banan', 
          'Czarna porzeczka' 
         ); 
    $listItems = array(); 
    foreach($names as $index => $name) { 
        $listItems[] = $name.' '.$suffix.($index+1); 
    } 
    echo '<ul><li>'.implode('</li><li>', $listItems).'</li></ul>'; 
    

    このデモのhereを参照してください。

    そして、それはarray_map()を使用して、機能プログラミングの方法で行うことができる:

    <?php 
    
    $suffix = 'mrjack-'; 
    $names = array(
          'Arbuz', 
          'Banan', 
          'Czarna porzeczka' 
         ); 
    $listItems = array_map(function($name, $index) { 
        return $name.' '.$suffix.($index+1); 
    }, array_values($names), array_keys($names)); 
    echo '<ul><li>'.implode('</li><li>', $listItems).'</li></ul>'; 
    

    このhereのデモを参照してください。

    関連する問題