从内部数组中选择一个特定的字段

时间:2018-11-20 14:40:55

标签: php arrays

在特征化之前:

print_r($ value)=

Prise en chargeListe des d�p�tsSaisie parflashageSupervisionSupervision des fluxSuivi des flux informatiquesAdministrationContr�le des RADMContr�le des RPECSurveillanceJournalJournal de bordAudit des depots 

个性化

foreach ($toto as $data)
{
    foreach($data as $key => $value)
    {
        $value = $value. ',';
        $tab = explode(",", $value);
        print_r($tab);
    }
}      

特征后:

print_r($ tab)=

Array ( [0] => Prise en charge [1] => ) Array ( [0] => Liste des d�p�ts [1] => ) Array ( [0] => Saisie par flashage [1] => ) Array ( [0] => Supervision [1] => ) Array ( [0] => Supervision des flux [1] => ) Array ( [0] => Suivi des flux informatiques [1] => ) Array ( [0] => Administration [1] => ) Array ( [0] => Contr�le des RADM [1] => ) Array ( [0] => Contr�le des RPEC [1] => ) Array ( [0] => Surveillance [1] => ) Array ( [0] => Journal [1] => ) Array ( [0] => Journal de bord [1] => ) Array ( [0] => Audit des depots [1] => ) 

我的问题:为什么他不给我这样的数组:

Array
// (
//    [0] => Prise en charge
//    [1] =>  Liste des d�p�ts
//    [2] =>  etc
//    [3] =>  etc
//    [4] =>  etc
//    [5] =>  etc
// )

以下是原始$toto数据的示例:

var_dump($toto) = array(13) { [0]=> array(1) { ["name"]=> string(15) "Prise en charge" } [1]=> array(1) { ["name"]=> string(16) "Liste des dépôts" } [2]=> array(1) { ["name"]=> string(19) "Saisie par flashage" } [3]=> array(1) { ["name"]=> string(11) "Supervision" } [4]=> array(1) { ["name"]=> string(20) "Supervision des flux" } [5]=> array(1) { ["name"]=> string(28) "Suivi des flux informatiques" } [6]=> array(1) { ["name"]=> string(14) "Administration" } [7]=> array(1) { ["name"]=> string(17) "Contrôle des RADM" }

php版本:低于5.5

1 个答案:

答案 0 :(得分:1)

似乎您只是想从每个内部数组中选择一个特定的字段。

您可以按照以下步骤在一行中解决此问题,而不必弄乱循环,逗号等:

mCurrentPhotoPath

这将输出

print_r(array_column($toto, 'name'));

演示:http://sandbox.onlinephpfunctions.com/code/09d7cde83b58b8c6a84be66f4fcc45d3f4fef6a8

文档:http://php.net/manual/en/function.array-column.php


其他:

如果您没有可用的array_column函数,则解决该问题仍然非常简单:

Array
(
    [0] => Prise en charge
    [1] => Liste des dépôts
    [2] => Saisie par flashage
    [3] => Supervision
    [4] => Supervision des flux
    [5] => Suivi des flux informatiques
    [6] => Administration
    [7] => Contrôle des RADM