3

私は助けが必要です。私は smarty でページを作成しました。クエリから結果セットを取得しました。結果セットを文字列に変更してテキスト領域に保存する必要があります。

私のクエリは以下のとおりです

select val from test

私の結果セットはコントローラーのvar_dumpに出力されます

{ [0]=>  array(1) { ["val"]=>  string(1) "c" } [1]=>  array(1) { ["val"]=>  string(3) "c++" } [2]=>  array(1) { ["val"]=>  string(4) "java" } [3]=>  array(1) { ["val"]=>  string(3) "PHP" } }

私はスティングのように変更する必要があります c,c++,java,PHP

変更機能はコントローラーのみで実現

助けてください.. そしてthk adv

4

3 に答える 3

1

そのために foreach を使用します。詳細については、http://php.net/manual/en/control-structures.foreach.phpを参照してください。

例 -

$array = Array("333", "222", "111");

foreach($array as $string) {
    echo $string.'<br />';
}

別の解決策は、implode を使用することです。

ここで詳細情報を参照してください - http://php.net/manual/en/function.implode.phpと再び小さな例 -

    $array = Array("333", "222", "111");

    $strings = implode(",", $array); // comma in first quotes are seperator, you can set it also to " " for a single space.

    echo $strings; // In this case it will output 333,222,111 if you would set it to empty space then it would output 333 222 11

編集:

ファイルに書き込むには、ファイル関数を使用する必要があります。

このリンクを確認してください - http://php.net/manual/en/function.file-put-contents.php

例 -

    // your file
    $file = 'sample.txt';
    $array = Array("333", "222", "111");
    // Add all strings to $content.
    foreach($array as $string) {
        $content .= $string.'<br />';
    }
    // write everything in file
    file_put_contents($file, $content);

提案:

SQL クエリを作成するときは、読みやすくするために、正しく記述する方法を今から学習し始めることをお勧めします。

たとえば、クエリ-

select val from test

に変更できます-

SELECT `val` FROM `test`

これは、読みやすく理解しやすいものです。

于 2012-07-19T10:18:12.277 に答える
0

すべての配列を区切り記号で結合する必要がある場合は、implode を使用します。例:

$arr = array("hi", "peter!", "how", "are", "you");
echo implode(" ", $arr) . "?";

//output
// hi peter! how are you?
于 2012-07-19T10:19:20.567 に答える
0

コンマで区切られた文字列が必要な場合は、implode 関数を使用する必要があります。

string implode ( string $glue , array $pieces )

glue: デフォルトは空の文字列です。これは、glue が 2 番目のパラメーターになり、不適切なプロトタイプが使用されるため、implode() の推奨される使用方法ではありません。pieces:内破する文字列の配列。

すべての配列要素の文字列表現を同じ順序で含む文字列を返します。各要素の間にはグルー文字列があります。

http://www.php.net/manual/en/function.implode.php

$array = Array("333", "222", "111");
$string = explode(',', $array);

戻り値

"333,222,111"

スペースが必要な場合:

$string = explode(' ', $array);

戻り値

"333 222 111"
于 2012-07-19T10:22:20.417 に答える