2017-11-27 10 views
-4

PHP配列をとるテーブルを作るにはどうすればいいですか?配列はhtml入力によって決定されます。表は第1列に実際の値、第2列に長さ、第3列に3文字または3文字で始まっていない場合、PHP(配列を使用したテーブル)

echo '<table>'; 
    foreach ($array as $key => $value) { 
     echo '<tr><td>'; 
     echo htmlspecialchars($array); 
     echo '</td><td>'; 
     echo strlen($array); 
     echo '</td><td>'; 

      //to work on 
      $trim = substr($array, 0, 3); 
       if(is_numeric($trim)){ 
        echo 'numeric'; 
       }elseif(is_string($trim)){ 
        echo 'string'; 
       }else{ 
        echo 'else ?'; 
       } 

     echo '</td></tr>'; 
     } 
    echo '</table>'; 
+1

これまでに何を試しましたか? – MCMXCII

答えて

0

PHPはPOST値を大括弧で配列として解釈します。

<form method="POST"> 
    <input type="text" name="values[]" > 
    <input type="text" name="values[]" > 
    <input type="text" name="values[]" > 
    <button type="submit">Go</button> 
</form> 

今すぐここに記載されている解決策は、あなたを始めるためのものです。 'ab123c'の値が文字列として渡されるため、3番目の列はややこしいことがあります。

私はあなたが彼らが処理されるようにねじれを動作させるでしょう。

if(is_array($_POST['values'])){ 
    echo '<table>'; 
     foreach ($_POST['values'] as $key => $value) { 
      echo '<tr><td>'; 
      echo htmlspecialchars($value); 
      echo '</td><td>'; 
      echo strlen($value); 
      echo '</td><td>'; 

       //to work on 
       $trim = substr($value, 0, 3); 
        if(is_numeric($trim)){ 
         echo 'numeric'; 
        }elseif(is_string($trim)){ 
         echo 'string'; 
        }else{ 
         echo 'else ?'; 
        } 

      echo '</td></tr>'; 
      } 
     echo '</table>'; 
} 

PS:ユーザー入力を決して信用しないでください。)

私は理解しやすいようにするために目標だった、コードがきしむきれいではありません知っています。

+0

テキストフィールドのみが存在する場合、これはどのように機能しますか?そして、私はすでにPHPの関数を使用して配列を取得しました –

+0

その場合、 'explode()'の結果の配列を使用し、 'foreach'部分のみを使って' $ _POST ['values'] 'を置き換えることができます。 – hexYeah

+0

'explode'は分解された値' [0] = value'を格納します 配列の形を見るには 'print_r($ array)'を使うことができます – hexYeah

関連する問題