在PHP中,有任何函数可以生成此行(来自DB)
源数组结构:
[1]=>array(
["TYPE"] => 'FRUIT'
["VALUE"] => 'BANANA'
)
[2]=>array(
["TYPE"] => 'FRUIT'
["VALUE"] => 'ORANGE'
)
数据样本
fruit|apple
fruit|orange
fruit|strawberry
animal|rabbit
animal|buffalo
animal|ant
goods|scissor
goods|cutter
轻松成为嵌套数组:
array(
fruit => array('apple', 'orange', 'strawberry'),
animal => array('rabbit', 'buffalo', 'ant'),
goods => array('cutter', 'scissors'),
)
基于它的类型相似性。
答案 0 :(得分:0)
在PHP中有任何函数可以创建这一行
不,没有现成的功能。
你必须编写一个程序来解析你的字符串并将它们放在数组中
或者您必须更改输入源格式。例如,对于JSON,因为它可以使用您要求的非常单一的函数进行解析。
如果您将这些行以这种方式存储在数据库中 - 您必须将其更改为更合理的结构,存储除项目之外的类别。
通常,您必须从用于从数据库获取数据的循环中获取您的组。
例如,PDO has some [silly] magic for you:
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>
你要求的工作是什么。
但是,使用其他任何API
答案 1 :(得分:0)
尝试类似这样的例子,
<?php
$result=array();
$data = array(array("TYPE"=> 'FRUIT',"VALUE"=> 'BANANA' ),array("TYPE" => 'FRUIT',"VALUE"=> 'ORANGE'));
foreach($data as $temp)
{
$result[$temp['TYPE']][]=$temp['VALUE'];
}
print_r($result);
?>
<强>输出强>
Array ( [FRUIT] => Array ( [0] => BANANA [1] => ORANGE ) )