【问题标题】:php explode elements in an array [duplicate]php爆炸数组中的元素[重复]
【发布时间】:2012-09-25 09:10:00
【问题描述】:

如何分解数组中的每个元素?

Array
(
    [0] => countryId:2, productId:1, status:1, pId:18, xId:pdgje5566
)

请看下面的数组:

$searchfor = $xId;

header('Content-Type: text/plain');

$contents = file_get_contents($file);
$pattern = preg_quote($searchfor, '/');
$pattern = "/^.*$pattern.*\$/m";

// search, and store all matching occurences in $matches
if(preg_match_all($pattern, $contents, $matches)){

   print_r($matches[0]);
   //echo implode("\n", $matches[0]);

}

请指教,谢谢。

【问题讨论】:

  • 数组中的每个元素是字符串还是二维数组的 JSON 表示?还有你想分什么?
  • @Sammaye 数据来自文本文件

标签: php arrays explode


【解决方案1】:
foreach ($array as &$value) {
  $arr = array();
  foreach (explode(', ', $value) as $el) {
     $ret = explode(':', $el);
     $arr[$ret[0]] = $ret[1];
  }
  $value = $arr;
}

【讨论】:

  • 这个答案缺少教育解释,并且正在宣传这样一种观念,即倾倒 sn-p 足以赚取独角兽积分。
  • @mickmackusa 是的,但是这个答案是在 stackoverflow 的黎明时回答的,有人只是想获得一个可运行的代码 sn-p。对于这样的问题本身,代码就足以用于教育目的:)
  • 是的,我意识到我在戳旧帖子。 Stack Overflow 的“时间黎明”提前了 3/4 年。旧的纯代码答案激励新用户相信新的纯代码答案是可以接受的,并收集独角兽积分。通过为更好的发帖实践树立榜样,我们鼓励未来改进发帖文化,旨在教育/授权不仅是 OP,还包括成千上万的研究人员。我经常使用旧页面来关闭新的重复页面——只有当旧页面具有足够的教育意义以解决新页面时,我才能真诚地这样做。
  • 可能更容易找到另一个页面,该页面演示如何在两个不同的分隔符上分解字符串并将此页面作为该页面的副本关闭。会有很多选择。
  • @mickmackusa 好点??
猜你喜欢
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 2020-02-16
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-23
相关资源
最近更新 更多