0

フォード、シボレー、ダッジの 3 つのアレイが必要だとしましょう。各配列には次の 3 つの項目があります。

$ford['engine'] = 'something';
$ford['color'] = 'something';
$ford['price'] = 'something';

$chevy['engine'] = 'something';
$chevy['color'] = 'something';
$chevy['price'] = 'something';

$dodge['engine'] = 'something';
$dodge['color'] = 'something';
$dodge['price'] = 'something';

問題なく書き出すことができ、それほど長くはかかりません。しかし、作成する必要がある 50 から 60 の配列が必要で、すべて 10 から 20 の異なるアイテムが必要だとしましょう。各配列のファイルの先頭に変数を配置して、配列名がどうなるかを示したいのですが、構文がよくわからず、$$ や配列でそれをどのように使用するかについてもよくわかりません。

$name = 'ford';

$(I want this to be "$name")['engine'] = 'something';
$(I want this to be "$name")['color'] = 'something';
$(I want this to be "$name")['price'] = 'something';

私はこれを行うことも考えました:

$name = 'ford';

$view[$name.'_engine'] 
$view[$name.'_color'] 
$view[$name.'_price'] 

これにアプローチするための最良の方法についていくつかの提案を得ることができますか?

4

2 に答える 2

5

それを行うための小さな関数を書きます

$cars = array(); //Create an array to hold the values    
function writeArray($car, $var1, $var2, $var3) {
     global $cars;
     $cars[$car] = array('engine' =>  $var1, 'color' => $var2, 'price' => $var2);
}
//Now use it like
writeArray('Chevy', $something, $something, $something);

//If you want to access the array in the form of $ford['engine'] then use this

extract($cars); //This will split the array into small array accessible by model 
于 2012-04-03T23:45:01.157 に答える
4

変数変数を使用できます:

$var = 'ford';
$$var['engine'] = '...';
$$var['color'] = '...';

$var = 'chevy';
$$var['engine'] = '...';
$$var['color'] = '...';

または、多次元配列を使用します。

$cars = array();

$make = 'ford';
$cars[$make] = array();
$cars[$make]['engine'] = '...';
$cars[$make]['color'] = '...';

// or

$cars['ford'] = array(
    'engine' => '...',
    'color' => '...',
);
于 2012-04-03T23:45:09.217 に答える