dongzhan5286 2013-09-09 19:52
浏览 55
已采纳

基于来自另一个数组的分隔符拆分数组

I'm experimenting with PHP and I was wondering if there is a simple way to accomplish this:

I have 2 arrays:

$array1 = ('A', 'B', '$', 'C', 'D', 'E', '%', 'F', 'G', 'H', 'I', '&', 'J')
$array2  =('$', '%', '&')

How can I get 4 separate arrays that are between the delimiters defined in array2? In other words, I should get 4 arrays:

('A', 'B')
('C', 'D', 'E')
('F', 'G', 'H', 'I')
('J')
  • 写回答

5条回答 默认 最新

  • dqybjj3497 2013-09-09 20:00
    关注

    How about this?

    <?php
    
    /**
     * @author - Sephedo
     * @for - ImTryinl @ Stackoverflow
     * @question - http://stackoverflow.com/questions/18705886/splitting-an-array-based-on-delimiters-from-another-array 
     */
    
    $array1 = array('A', 'B', '$', 'C', 'D', 'E', '%', 'F', 'G', 'H', 'I', '&', 'J');
    $array2 = array('$', '%', '&');
    
    $return = array();
    $x = 0;
    
    foreach( $array1 as $value )
    {
        if( in_array( $value, $array2 ) )
        {
            $x++;
        }
        else
        {
            $return[$x][] = $value;
        }
    }
    
    var_dump( $return );
    
    ?>
    

    Tested and this returns

    array
      0 => 
        array
          0 => string 'A' (length=1)
          1 => string 'B' (length=1)
      1 => 
        array
          0 => string 'C' (length=1)
          1 => string 'D' (length=1)
          2 => string 'E' (length=1)
      2 => 
        array
          0 => string 'F' (length=1)
          1 => string 'G' (length=1)
          2 => string 'H' (length=1)
          3 => string 'I' (length=1)
      3 => 
        array
          0 => string 'J' (length=1)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 在使用pyecharts时出现问题
  • ¥15 深度学习残差模块模型
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计