将数组分成不同的变量

时间:2013-12-02 13:16:46

标签: php arrays

我有一个数组从jquery到我的php页面, 总共它们是数组中的20个字符串,其中一些是空的。

一个示例,如果其中一个数组

array(2) {
      [0]=>
      string(2) "KI"
      [1]=>
      string(2) "GY"
    }

在php中我得到像

这样的数组
if (isset($_POST[access_array])) {
   $access = isset($_POST[access_array]) ? $_POST[access_array] :NULL ;
}

他们检查它是否为空,如

foreach( $access as $key => $value ) {
    if( is_array( $value ) ) {
        foreach( $value as $key2 => $value2 ) {
            if( empty( $value2 ) ) 
                unset( $access[ $key ][ $key2 ] );
        }
    }
    if( empty( $access[ $key ] ) )
        unset( $access[ $key ] );
}

我现在要做的是,将数组中的字符串访问为变量 像

$array_string1 = 
$array_string2 =
$array_string3 = 
$array_string4 = 
$array_string5 =
blah
blah
$array_string20 =

然后在运行insert语句之前检查是否有$array_string(s)是空的,这将存储数据,如

table: lvl

id   name    arraystring
1    john     'HI','HT','OP'   <---- that is just any example so HI will be `$array_string1`, HT `$array_string2` or `$array_string18`. Something like that.

我面临的问题是如何将数组中的字符串分隔为$array_string个(s)变量。 我见过类似的问题(同一标题),但没有指明答案

1 个答案:

答案 0 :(得分:1)

首先,如果数组键名来自网络,这很危险......他们可能会尝试覆盖重要的,已经使用过的密钥。 (有点像Magic GPC,现在也被弃用了。)

所以实际上我真的不推荐这个

但你可以这样做:

$array = array("a" => "apple", "b" => "bear");
print_r($array); // echoes:
//Array
//(
//    [a] => apple
//    [b] => bear
//)

foreach ($array as $key=>$val)
    $$key = $val;

echo $a; // echoes apple
echo $b; // echoes bear