0

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'),
)

タイプの類似性に基づいています。

4

2 に答える 2

0

PHPには、この行を作成する関数はありますか

いいえ、これには既製の関数はありません。
文字列を解析して配列に入れるプログラムを作成する必要があります

または、入力ソース形式を変更する必要があります。たとえば、JSON の場合、求めている非常に単一の関数で解析できるためです。

これらの行をまさにこの方法で DB に保存している場合は、より賢明な構造に変更して、項目とは別にカテゴリを保存する必要があります。

一般に、データベースからデータを取得するために使用されるループからグループを正しく取得する必要があります。

たとえば、PDO にはいくつかの [ばかげた] 魔法があります。

<?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を使用してこの動作をシミュレートするのは非常に簡単です

于 2013-05-22T06:00:59.743 に答える