2011-12-28 8 views
12

echo $myObject->value_$id私はこのようなことをしたいと思いますが、正しい構文がわからず、可能かどうかわかりません。文字列+変数を使用してオブジェクト変数を取得する

$idはPHPの変数の1つです(例えば、値1)。最終的に$myObject->value_1を取得したいと思いますが、数字部分(1)は動的にする必要があります。

+1

? – omnidan

+0

私は ' - >' – simPod

+0

'$ myObject-> myArray [" element "];'または '$ myObject-> myArray [$ id];'を使ってこれを行う方法を知りました。私は配列を使用すると、とにかくこれを行うためのより良い方法だと思います。しかし、正確に何をしたいですか? – omnidan

答えて

23

機能がvariable propertiesと呼ばれている:あなたは、配列を使用していないのはなぜ

<?php 

$myObject = (object)NULL; 
$myObject->value_1 = 'I am value nr 1'; 

$id = 1; 
echo $myObject->{"value_$id"}; 
+0

オブジェクトにNULLをキャストする前に私は見たことがありません^^面白いアイデア;-) – Armin

+0

@Armin - しばらくの間StackOverflowをハングアップすると、奇妙なものが表示されます:) –

+0

これは私が探していたコードです! – simPod

3
$name = "value_" . $id; 
echo $myObject->$name; 
+0

そして、何とか2行目に変数と文字列を結合できませんか? – simPod

4

これは動作します:

$variableName = 'value_whatever_1337'; 
echo $myObject->$variableName; 
+0

2番目の行に変数と文字列を結びつけることができませんか? – simPod

+0

あなたのコードをはっきりと読みやすいようにしたい場合は、これはお勧めの方法ではありません! – Armin

+0

さて、私はそれについて考えます。ありがとう – simPod

関連する問題