2017-07-11 21 views
1

配列キーを使用して特定の値を取得しようとしていますが、動作させる方法がわからないようです。配列から特定のキー値を取得する

$Array = Array(
    "key1" => "value1", 
    "key2" => "value2" 
); 

"key1"の値を取得したいとしましょう、私はビューで配列を返します。

return view("myview")->with("arraytoprint", $Array); 

そして私は刃でそれをしようが、私はTrying to get property of non-object取得...

@foreach($arraytoprint as $arr) 
{{ $arr->key1 }} 
@endforeach 

はどのようにこれを達成することができますか?

+1

'$ arr ['key1']' –

+0

'key1'の値を文字列にしたい場合は、その値を配列として出力します。 – Omi

答えて

1

trying to get property of non-objectですが、配列を渡しているとエラーが表示されます。 ->表記は、配列ではなくオブジェクトのプロパティにアクセスするために使用されます。

あなたは以下のように、代わりに角括弧表記を使用してPHPの配列のキーにアクセスする:あなたは直接キーにアクセスしたい場合にも、単に、foreachループを必要としないあなたの例では

$arr['key1'] 

を操作を行います。

{{ $arraytoprint['key1'] }} 

あなたが値をループにしたいならば、あなただけの下に行うことができます。

@foreach($arraytoprint as $value) 
    {{ $value }} 
@endforeach 

そして、あなたはあまりにもキーが必要な場合は完全ために、あなたが行うことができます:

return view("myview", ["arraytopoint"=>$Array]); 

を、ブレードビューでのアクセス:

@foreach($arraytoprint as $key => $value) 
    {{ $key }} : {{ $value }} 
@endforeach 
+0

"不正な文字列のオフセット"を返す –

+0

あなたはforeachを必要としないので、 '$ arraytoprint [ 'key1'] ' –

+0

私は' '{{$ arraytoprint ['key1']}}' 'を実行できません。' '未定義変数' 'を返すだけです。そしてあなたが言及した他の方法は、私が探しているものを達成するものではありません。私はキーの値を取得したいだけで、私はその1の値以外の何も望んでいません(ループしている間は)。すべてのキーの値ではありません... –

1

をLaravel 5では、ビューにデータを渡すには次のように行われていますこのような変数の

{{$arraytopoint['key1']}} inside @foreach loop 

またはテスト値:

<?php print_r($arraytopoint['key1']); ?> 
このような
関連する問題