-2

php.I を使用してすべてのデータを選択することができます。

$devices = explode("\n", $_POST['devs']);
foreach($devices as $device)
echo $device;

そして、次を使用して最初の行のみを選択できます。

$first_line = strstr(($_POST['devs']), "\n", true);
echo $first_line;

しかし、特定の行をエコーするにはどうすればよいですか? テキストエリアから2行目または4行目と言いますか?

4

7 に答える 7

1

最初のコード スニペットは、explode関数を介して既に行の配列を作成しています。

そのため、2 行目と 4 行目を出力するには、次のようにします。

$devices = explode("\n", $_POST['devs']);
echo $devices[1];
echo $devices[3];

PHP を初めて使用する場合 (質問の性質上、これが当てはまると思います)、多くのプログラミング言語と同様に、配列はゼロからインデックス付けされるため、2 行目は1、4 行目は[3]など

アップデート

最後から 2 番目 (つまり、最後から 2 番目) の行にアクセスするには、次のようにします。

echo $devices[count($devices) - 2];

ここで行っているのは、( countを介して) 配列内の要素の数を取得し、2 を引いて最後から 2 番目の要素をフェッチすることです。(配列がゼロからインデックス付けされているという事実に対処するために、1 を引く必要があるためです。)

于 2013-08-03T10:18:46.633 に答える
1

使用法:

getLines(YOUR POST, START LINE, END LINE(optional));

戻り配列あり:

function getLines($text, $start, $end = false)
{
    $devices = explode("\n", $text);
    $append  = "My device is ";

    $output = array();
    foreach ($devices as $key => $line)
    {
        if ($key+1 < $start) continue;
        if ($end && $key+1 > $end) break;
        $output[] = $append.$line;
    }
    return $output;
}

$array = getLines($_POST['devs'], 2);
var_dump($array);

エコー文字列を使用:

function getLines($text, $start, $end = false)
{
    $devices = explode("\n", $text);
    $append  = "My device is ";

    $output = "";
    foreach ($devices as $key => $line)
    {
        if ($key+1 < $start) continue;
        if ($end && $key+1 > $end) break;
        $output .= $append.$line."<br />";
    }
    return $output;
}

echo getLines($_POST['devs'], 2);
于 2013-08-03T10:19:33.747 に答える
0

このようにしてください

$nth_line = explode("\n", $_POST['devs'])[n];

ここで、n は行番号です。

爆発()は配列を返し、基本的な配列操作で各要素を選択できますhttp://php.net/manual/en/function.explode.php

于 2013-08-03T10:18:06.260 に答える
0

は展開後の配列であるため$devices、各行をそのインデックスで処理できます。配列はゼロインデックスベースであるため、1 は 0 から始まることに注意してください。

$devices = explode('\n', $_POST['devs']);

// line 1
echo $devices[0];

// line 2
echo $devices[1];

// line 4
echo $devices[3];
于 2013-08-03T10:18:31.517 に答える
0

分割を使用できます:

$lines = split("\n", $_POST['devs']);

echo $lines[3];  //4th line

ドキュメントを参照してくださいhttp://php.net/manual/es/function.split.php

于 2013-08-03T10:19:14.567 に答える
0

PHP での配列操作を見てみましょう。は配列なので、次$devicesのようにインデックスで要素を選択できます: $devices[1]2 番目の要素、$devices[2]3 番目の要素など。

于 2013-08-03T10:19:58.913 に答える
-1

php.net で構文を検索します。それは

$devices = explode(";", "aap;noot;mies");
print_r($devices);
   foreach ($devices as $key => $value) {
     echo "<br>nr.$key=" .  $devices[$key];
   }
于 2013-08-03T10:18:41.183 に答える