2016-05-19 8 views
-3

私はPHPを初めて使用しています。codeigniterで配列を文字列に変換するには?

この配列を変換します。この

string(1) "2", string(2)"1", string(3)"0"のような文字列に

array(2) { 
    [0]=> object(stdClass)#24 (1) { 
     ["item"]=> string(1) "2" 
    } 
    [1]=> object(stdClass)#25 (1) { 
     ["item"]=> string(1) "1" 
    } 
} 

...

これを行う方法は何ですか?

注:私はPHPコードで "行()"を追加してみてください。常に単一の結果になります。例えば :「1」、唯一文字列は、(1)「2」

+1

オブジェクトはどこから来ていますか?それはデータベースからですか?それらの文字列をループで取得しようとしていますか? 1つの文字列または複数の文字列が必要ですか? –

+0

print_r関数をお探しですか? –

+1

*文字通り 'string(2)" 1 "'が欲しいですか?これは 'var_dump'の出力に似ていますが、文字列の長さが正しくありません。 –

答えて

2

あなたは何か変わったことをしています。今、あなたがあなたの奇妙な文字列を持っている

$str=''; $idx=0; 
foreach ($arr as $obj) { 
    $str.=($idx==0?'':', ').'string ('.$idx++.') "'.$obj->item.'"'; 
} 

は、あなたが言及したその文字列に変換するコードがなります$arrがあなたの

array(2) { [0]=> object(stdClass)#24 (1) { ["item"]=> string(1) "2" } 
[1]=> object(stdClass)#25 (1) { ["item"]=> string(1) "1" } } 

あるとしましょう。しかし、ここで答えがあります$str var。

もし私の最初の奇妙な推測が間違っていれば。私にはもっと感覚がありますが、あなたから尋ねられない別のものがあります:

foreach ($arr as $obj) { 
    echo $obj->item; // or do whatever you want with this value which is string type 
} 
+0

まさに、私はOPはこれを知らないと思う。 –

+0

Implodeについて –

0

はあなたがここにforeachループを使用する必要があり、配列オブジェクトを持って見て、あなたの配列の値は「2」です。 string(1) "2",string(1) "1"var_dumpを使用すると、配列のタイプと長さが表示されます。

array(2) { 
    [0]=> object(stdClass)#24 (1) { 
     ["item"]=> string(1) "2" 
    } 
    [1]=> object(stdClass)#25 (1) { 
     ["item"]=> string(1) "1" 
    } 
} 

、foreachのを使用して、各値を取得する以下の例を参照してください、あなたの配列名が$arrであるようにします。

foreach($arr as $val){ 
    echo $val->item; 
} 

これは、配列の値を"2"、 "1"と表示します。

+0

しかし、私はデータベースのクエリを使用することはできません。例えば:$ this-> db-> where( 'item'、$ data4 - > $ item); –

+0

array(2,1)のように使いたいと思っています。 –

+0

$ s = implode( "、"、(array)$ arr);を使用するだけです。私はそれが動作すると思う –

関連する問題