1

問題の説明:
私がやろうとしているのは、動的に作成された変数をループから php の関数に渡すことです。具体的には、for ループを使用して変数を作成し、それらにデータを割り当てました。次に、for ループを使用してすべての変数をつなぎ合わせます。次に、文字列を multisort_array 関数に渡し、文字列を分解して変数を使用します。何が間違っているのかわかりません。

質問:
作成する変数の数を知らずに、動的に作成された一連の変数をソート関数に渡すにはどうすればよいですか? それが私のデレマです。

コード:

$arr2[0] = "100::HOMEDEPOT";
$arr2[1] = "200::WALMART";
$arr2[2] = "300::COSTCO";
$arr2[3] = "400::WALGREENS";
$arr2[4] = "500::TACO BELL";

// explodes first value of $arr2
$tmp = explode("::",$arr2[0]);

// determines how many dynamic variables to create
for($k=0;$k<count($tmp);$k++){
    ${"mArr".$k} = Array();
}

// loops thru & assigns all numbers to mArr0
// loops thru & assigns all names to mArr1
for ($k=0;$k<count($arr2);$k++){
    $tmp = explode("::",$arr2[$k]);

    for($l=0;$l<count($tmp);$l++){
        ${"mArr".$l}[$k] = $tmp[$l];
    }
}

// Will add a for loop to combine the variables into string
$param = "$mArr1,$mArr0";

// send the string to array_multisort to be sorted by name
// have tried the following options:
//   1.   array_multisort(explode(",",$param));
//   2.   call_user_func_array(array_multisort,explode(",",$param));
// both do not sort & give me an error.

よろしくお願いいたします。これを達成できる他の方法についての提案は受け付けていますが、可能であればphpコードに含めたいと思います.

4

2 に答える 2