2016-11-25 43 views
-2

Web上でPHPでオブジェクト数値索引配列にアクセスすることについて知りましたが、解決策は見つかりませんでした。ここでは一例です: -PHPで数値インデックス配列のオブジェクトにアクセスする方法

$cars['p'] = "Volvo"; 
$cars['q'] = "BMW"; 
$cars['r'] = "Toyota"; 

$k=(object)$cars; 
echo $k->p; 
を - :

$cars['0'] = "Volvo"; 
$cars['1'] = "BMW"; 
$cars['2'] = "Toyota"; 

$k=(object)$cars; 


print_r($k); 

出力:

stdClass Object ([0] => Volvo [1] => BMW [2] => Toyota) 

私はこの例と同じことをしたい、私がアクセスしていますがどのようにこの例で見てください。

私が望んでいるこの例をルーピングしたくないと思います。

私は上記の出力を得ています。この標準オブジェクトにアクセスするにはどうすればよいですか?VolvoBMWおよびトヨタ私はそれを配列に変換してアクセスするなどの代替ソリューションは望んでいません。答えがすでにSOにある場合は、親切にリンクを提供してください。

ありがとうございました。

foreach($cars as $car) 
{ 
    echo $car; 
} 

$車オブジェクト内:よう

+0

@jitendrapurohit私は親愛なる参考リンクの例を試してみましたが、自分で試してみることができます。 – Stackfull

+0

ファクト#4と3つのオプションを受け入れられた回答で確認します。それは動作し、ここで何ができるのかを明確に説明しています – jitendrapurohit

答えて

1

使用のforeach()ループ。

foreach() reference

+0

あなたは私が代替ソリューションを望まないと言って$ k変数で$ kで遊ばなくてはなりません。ここで私はstdClassオブジェクトのための解決策を望んでいます:) – Stackfull

+0

@Stackfull、その後、$ kで$ carsを置き換えます。 – Ronald

+0

$ cars ['p'] = "Volvo"; $ cars ['q'] = "BMW"; $ cars ['r'] = "Toyota"; $ k =(オブジェクト)$ cars; echo $ k-> p;私が望むのと同じこの例を見て、ループしたくない。 – Stackfull

1

foreachループは、アレイ上で動作し、アレイ内の各キー/値のペアをループに使用されます。

$cars['0'] = "Volvo"; 
$cars['1'] = "BMW"; 
$cars['2'] = "Toyota"; 

$k=(object)$cars; 
foreach($k as $key) { 
    echo $key; 
} 

OR

$cars['0'] = "Volvo"; 
$cars['1'] = "BMW"; 
$cars['2'] = "Toyota"; 

foreach($cars as $key) { 
    echo $key; 
} 
2

$ K-のように実装する方法はありません> 0または$ K - > '0' あなたは予想通り。

PHP配列は、インデックス付き配列と連想配列を区別しないので、整数と文字列のキーを同時に含むことができます。キーは、整数または文字列のいずれかです。値はどのタイプでもかまいません。この割り当てで、あなたのコードで

array(1) { 
    [1]=> 
    string(1) "d" 
} 

php array manual は、

<?php 
$array = array(
    1 => "a", 
    "1" => "b", 
    1.5 => "c", 
    true => "d", 
); 
var_dump($array); 
?> 

意志の出力をこの興味深い例を見てみましょう

$cars['p'] = "Volvo"; 
$cars['q'] = "BMW"; 
$cars['r'] = "Toyota"; 
$cars['0'] = "Volvo"; 
$cars['1'] = "BMW"; 
$cars['2'] = "Toyota" 

車は次のようになります。

array(6) { 
    ["p"]=> 
    string(5) "Volvo" 
    ["q"]=> 
    string(3) "BMW" 
    ["r"]=> 
    string(6) "Toyota" 
    [0]=> 
    string(5) "Volvo" 
    [1]=> 
    string(3) "BMW" 
    [2]=> 
    string(6) "Toyota" 
} 
object(stdClass)#2 (6) { 
    ["p"]=> 
    string(5) "Volvo" 
    ["q"]=> 
    string(3) "BMW" 
    ["r"]=> 
    string(6) "Toyota" 
    [0]=> 
    string(5) "Volvo" 
    [1]=> 
    string(3) "BMW" 
    [2]=> 
    string(6) "Toyota" 
} 
+0

okありがとうございます.. :) – Stackfull

関連する問題