【发布时间】:2013-12-31 18:46:48
【问题描述】:
我从以下形式的 mysql 表中提取了一个值数组:
$name_ids = EMP-646
EMP-545
EMP-12
CLIENT-36
CLIENT-43
CLIENT-5
我想将 EMP 和 CLIENT 标识为单独的数据,然后仅提取整数值,然后将它们存储到单独的变量中。例如:
$emp_id = 646
545
12
$client_id = 36
43
5
这是我的尝试,但我无法打印所需的结果(不确定我的逻辑是否正确):
$name_ids = array($_SESSION['INVITED_NAMES']);
foreach($name_ids[0] as $name_id){
if(stripos($name_id, 'EMP') !== false){
$emp_id = preg_replace("/[^0-9]/","",$name_id);
}
elseif(stripos($name_id, 'CLIENT') !== false){
$client_id = preg_replace("/[^0-9]/","",$name_id);
}
echo $emp_id.' '; //both results need to happen at this stage in the `foreach` loop.
echo $client_id.' ';
}
需要注意的一点是,由于其他代码依赖于该位置,我需要将结果显示在它们所在的位置。使用当前代码,这是我得到的结果:
646 545 12 36 12 43 12 5 12
错误出现在第一个 if 语句 ($emp_id) 处,当值为 false 时,它将返回 true 值的最后一个 int,直到循环结束。任何帮助是极大的赞赏。
【问题讨论】: