php - 在第一个空间上拆分字符串数组,并按第一个单词进行新数组分组

标签 php arrays loops split grouping

我有以下数组:

$phones = array(
  [0] => Apple iPhone 4
  [1] => Apple iPhone 5
  [2] => Samsung Galaxy S6
)

我想做的是将这个数组分开,将品牌与手机型号分开,所以最后我可以构建一个数组来给我这个:

$phone_array = array (
  'Apple' => array (
      'iPhone 4', 'iPhone 5'
  ),
  'Samsung' => array (
      'Galaxy S6',
  )
)

到目前为止,我有以下未完成的代码:

$brand_dictionary = "/(samsung|apple|htc|sony|nokia)/i";
foreach($phones as $p) {
    if(stripos($p,$brand_dictionary)) {
        pr($p);
        die();
    }
}

但这根本无法正常工作。

最佳答案

尝试使用 -

$phones = array(
  'Apple iPhone 4',
  'Apple iPhone 5',
  'Samsung Galaxy S6'
);

$new = array();

foreach($phones as $phone) {
  $temp = explode(' ', $phone);
  $key = array_shift($temp);
  $new[$key][] = implode(' ', $temp); 
}

var_dump($new);

输出

array(2) {
  ["Apple"]=>
  array(2) {
    [0]=>
    string(8) "iPhone 4"
    [1]=>
    string(8) "iPhone 5"
  }
  ["Samsung"]=>
  array(1) {
    [0]=>
    string(9) "Galaxy S6"
  }
}

关于php - 在第一个空间上拆分字符串数组,并按第一个单词进行新数组分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335930/

相关文章:

php - MYSQL在屏幕上分段打印日期

javascript - jQuery 比较数组并显示不匹配的值

JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用

php - JavaScript 促进了 OpenID 登录?

javascript - 制作实时聊天 php 的最佳方法?

php - 如何防止 PHP 中的 SQL 注入(inject)?

jquery - 循环提交表单

c++ - 从所有类访问对象数组

c - 操作数组导致段错误?

python - Python 中的嵌套 for 循环