有一组数组,如下:
array('aaa_BC98E90D8ADA0','aab_KD9098DF90F','d5d_KDO90290393','nnn_OPDOE82993KD','kbh_Doodie0DDK',...);
以上数组值个数不定。
把以上的数组取值出来,并用explode('_',$value)来分割,得出前后两个值。
问题就是,怎么样个过程,可以得到如下结果:
$aaa = 'BC98E90D8ADA0';
$aab = 'KD9098DF90F';
$d5d = 'KDO90290393';
$nnn = 'OPDOE82993KD';
$kbh = 'Doodie0DDK';
...
感谢有心人,大神们的帮助!
php
<?php $foo = array('aaa_BC98E90D8ADA0','aab_KD9098DF90F','d5d_KDO90290393','nnn_OPDOE82993KD','kbh_Doodie0DDK'); $bar = array(); foreach ($foo as $item) { list($k, $v) = explode('_', $item); $bar[$k] = $v; } extract($bar); var_dump($bar, $aaa, $aab, $d5d, $nnn, $kbh); /* array (size=5) 'aaa' => string 'BC98E90D8ADA0' (length=13) 'aab' => string 'KD9098DF90F' (length=11) 'd5d' => string 'KDO90290393' (length=11) 'nnn' => string 'OPDOE82993KD' (length=12) 'kbh' => string 'Doodie0DDK' (length=10) string 'BC98E90D8ADA0' (length=13) string 'KD9098DF90F' (length=11) string 'KDO90290393' (length=11) string 'OPDOE82993KD' (length=12) string 'Doodie0DDK' (length=10) */
PHP: extract - Manual
看过DEDE 那个就知道咋弄了
可以$$这样写
foreach(array($_GET,$_POST) as $v)
{
foreach($v as $k=>$vv)
{
$$k = $vv;
}
}
这样$_GET['id'] 就可以直接$id了
$array = array('aaa_BC98E90D8ADA0','aab_KD9098DF90F','d5d_KDO90290393','nnn_OPDOE82993KD','kbh_Doodie0DDK');
foreach($array as $v)
{
list($k,$vv) = explode('_',$v);
$$k = $vv;
}
$str = 'hello';
$hello = 'hello world';
echo $str . '<br />'; // hello
echo $hello . '<br />'; // hello world
// 两个 ‘$$’ 符号就是把 $str 的值 在变成一个变量, 所以输出'hello world';
echo $$str //hello world
那么,so,明白了吧。
下面是代码:
php
// 初始化数据 $data =array('aaa_BC98E90D8ADA0','aab_KD9098DF90F','d5d_KDO90290393','nnn_OPDOE82993KD','kbh_Doodie0DDK'); // 临时数组 $temp = array(); foreach ($data as $key => $value) { $part = explode('_',$value); $temp[$part[0]] = $part[1]; } extract($temp); echo $aaa; // BC98E90D8ADA0 echo $aab; // KD9098DF90F .... echo $kbh; // Doodie0DDK
不知道能否满足你的需求