PHP爆炸并将其分配给多维数组
发布时间:2020-12-13 17:46:35 所属栏目:PHP教程 来源:网络整理
导读:我想爆炸两次字符串并制作一个多维数组. $data = "i love funny movies n i love stackoverflow dot com n i like rock song";$data = explode("n",$data); 所以print_r($data);将输出: Array( [0] = i love funny movies [1] = i love stackoverflow co
我想爆炸两次字符串并制作一个多维数组.
$data = "i love funny movies n i love stackoverflow dot com n i like rock song"; $data = explode("n",$data); 所以print_r($data);将输出: Array ( [0] => i love funny movies [1] => i love stackoverflow com [2] => i like rock song ) 现在,如果我喜欢这样: $line_data = explode(" ",$data); // explode $data variable by spaces. print_r($line_data);会给我这个: Array ( [0] => i [1] => love [2] => funny [3] => movies [4] => [5] => i [6] => love [7] => stackoverflow [8] => dot [9] => com [10] => [11] => i [12] => like [13] => rock [14] => song ) 但我想要实现的将是这样的: Array ( [0][0] => i [0][1] => love [0][2] => funny [0][3] => movies [0][4] => [1][5] => i [1][6] => love [1][7] => stackoverflow [1][8] => dot [1][9] => com [1][10] => [2][11] => i [2][12] => like [2][13] => rock [2][14] => song ) 这里,第一个索引应代表行号,第二个索引代表字号. 解决方法
这样做:
$data = "i love funny movies n i love stackoverflow dot com n i like rock song"; $data = explode(" n ",$data); $out = array(); $step = 0; $last = count($data); $last--; foreach($data as $key=>$item){ foreach(explode(' ',$item) as $value){ $out[$key][$step++] = $value; } if ($key!=$last){ $out[$key][$step++] = ' '; // not inserting last "space" } } print '<pre>'; print_r($out); print '</pre>'; 输出(你需要什么): Array ( [0] => Array ( [0] => i [1] => love [2] => funny [3] => movies [4] => ) [1] => Array ( [5] => i [6] => love [7] => stackoverflow [8] => dot [9] => com [10] => ) [2] => Array ( [11] => i [12] => like [13] => rock [14] => song ) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |