+ -
当前位置:首页 → 问答吧 → 数组问题?

数组问题?

时间:2011-09-27

来源:互联网

PHP code

数据结构;

[data:private] => Array
        (
            [id] => Array
                (
                    [0] => 269061
                    [1] => 269376
                )

            [issuetime] => 2011年09月
            [PpjID] => 14262
            [corpid] => Array
                (
                    [0] => 379984,269061
                    [1] => 233241,269376
                    [2] => 690894,270702
                    [3] => 694397,278090
                )

        )

要的结果;
array
(
     [0] => 379984
     [1] => 233241
)

作者: zy205817   发布时间: 2011-09-27

您老在做迷题呢?

作者: yhkyo   发布时间: 2011-09-27

没看懂什么规则,是只取[corpid] 下的前两个元素的,前面的值么?

作者: ohmygirl   发布时间: 2011-09-27

PHP code
$data = Array
        (
            'id' => Array
                (
                    0 => '269061',
                    1 => '269376'
                )
,
            'issuetime' => '2011年09月',
            'PpjID' => '14262',
            'corpid' => Array
                (
                    0 => '379984,269061',
                    1 => '233241,269376',
                    2 => '690894,270702',
                    3 => '694397,278090'
                )
        );

$ar = array();
foreach($data['corpid'] as $v) {
    $tmp = explode(',', $v);
    $ar[$tmp[1]] = $tmp[0];
}
$result = array();
foreach($data['id'] as $v) $result[] = $ar[$v];
print_r($result);

作者: T5500   发布时间: 2011-09-27

PHP code

$array = array(
    'id'    =>  array(269061,269376),
    'corpid'    =>  array('379984,269061','233241,269376', '690894,270702', '694397,278090')
);
$pattern = '(' . implode('|', $array['id']) . ')';
foreach($array['corpid'] as $row) {
    if(preg_match("/(\d+),$pattern/", $row, $matches)) {
        echo $matches[1] . '<br/>';
    }
}
/**
输出结果:
379984
233241
*/

作者: yangball   发布时间: 2011-09-27

相关阅读 更多