首页 > PHP分割数组中的值为两半,前半变量名,后半为值

PHP分割数组中的值为两半,前半变量名,后半为值

有一组数组,如下:

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

不知道能否满足你的需求

【热门文章】
【热门文章】