0

var_dumpしたい配列がたくさんあります。これらの配列は、フォームの$ _GETに基づいて名前が付けられているため、それぞれが異なりますが、先頭に事前定義された名前が付けられているため、、、があります。ここarray_bobarray_maryarray_sambobmaryとsamは$_GET値です。

使用preg_matchするのが最善の策だと思いましたが、どうすればよいかわかりません。

私はこのようなことを考えましたが、それは明らかに機能しません

          if (isset($array_(preg_match("/[A-Z]|[0-9]/i",$array_))))
          {   
              var_dump($array_(preg_match("/[A-Z]|[0-9]/i",$array_)))
          }

基本的に、必要なのは、mary、bob、およびsueをダンプするためのarray_*の最後にあるワイルドカードです。

誰かが私を正しい方向に向けてくれませんか?

4

2 に答える 2

0

すべての配列はGLOBALオブジェクトにありますよね?だからあなたはこれを行うことができます:

$arrayName = "array_" . $_GET['name'];
var_dump($GLOBALS[$arrayName]);

ただし、これを行うためのより良い方法は、array_bob、array_maryなどのすべての配列を1つの配列のインデックスとして持つことです。したがって、GLOBALオブジェクトを処理する必要はありません。このようなもの:

$allArrays = array("mary" => array_mary, "bob" => array_bob);
$name = $_GET['name'];
var_dump($allArrays[$name]);
于 2013-02-27T04:36:45.203 に答える
0

これをお探しですか?

$arrName = $_GET['name'];
print_r(${'array_' . $arrName});

またはこれ?

$nameArray = array('bob', 'mary', 'sam');

foreach ($nameArray as $arrName) {
  if (isset(${'array_' . $arrName})) {
    print_r(${'array_' . $arrName});
  }
}
于 2013-02-27T04:24:47.657 に答える