PHP 通过键值创建不同的数组集
PHP make different set of array by key value
这是我得到的数组,请帮助我获得具有相同键值的输出,以便为每个相同的类别制作不同的数组。我在下面添加所需的输出
Array
(
[2] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[3] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => geography
)
)
这是所需的输出
Array
(
[0] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[1] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => history
)
)
[1] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => geography
)
)
)
如果你可以将结果数组的索引作为类别名称,事情就简单了。
让 $first
成为您的第一个数组
$first = Array
(
[2] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
.....
.....
然后在 $first
数组
上执行 forach 循环
$result = array();
foreach($first as $row){
$index = $row['quiz_name'];
$result[$index][] = $row;
}
var_dump($result);
输出会像,[=15=]
Array
(
['history'] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[1] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => history
)
)
['geography'] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => geography
)
)
)
这是我得到的数组,请帮助我获得具有相同键值的输出,以便为每个相同的类别制作不同的数组。我在下面添加所需的输出
Array
(
[2] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[3] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => geography
)
)
这是所需的输出
Array
(
[0] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[1] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => history
)
)
[1] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => geography
)
)
)
如果你可以将结果数组的索引作为类别名称,事情就简单了。
让 $first
成为您的第一个数组
$first = Array
(
[2] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
.....
.....
然后在 $first
数组
$result = array();
foreach($first as $row){
$index = $row['quiz_name'];
$result[$index][] = $row;
}
var_dump($result);
输出会像,[=15=]
Array
(
['history'] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => history
)
[1] => Array
(
[ans_type] => single
[ques] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[opt1] => ST
[opt2] => MT RJ
[opt3] => (BNC)
[opt4] => LC
[opt5] => F-connector
[ans] => E
[points] => 2
[cat] => Genel
[title] => Aşağıdaki konektör tiplerinden hangileri coaxial kablo ile kullanılır
[quiz_name] => history
)
)
['geography'] => Array
(
[0] => Array
(
[ans_type] => single
[ques] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[opt1] => Analog video konektörü
[opt2] => Sadece ses konektörü
[opt3] => (MNC)
[opt4] => Analog ses konektörü
[opt5] => Sadece video konektörü
[ans] => C
[cat] => Genel
[title] => Aşağıdakilerden hangisi Displayport'un özelliklerindendir
[quiz_name] => geography
)
)
)