选择框中值的多维数组

时间:2013-04-12 00:01:53

标签: php arrays multidimensional-array

public function getCategories()
{
    $categories = array( 
        array('is-yemekleri',           'İş yemeklerine uygun.'),
        array('bekarliga-veda',         'Bekarlığa veda partileri için uygun.'),
        array('dogum-gunleri',          'Doğum günleri için uygun.'),
        array('mac-yayinlari',          'Maç yayınları mevcut.'),
        array('akdeniz-yunan-mutfagi',  'Akdeniz ve Yunan mutfağı mevcut.'),
        array('turk-osmanli-mutfagi',   'Türk ve Osmanlı mutfağı mevcut.'),
        array('italyan-mutfagi',        'İtalyan mutfağı mevcut.'),
        array('fransiz-mutfagi',        'Fransız mutfağı mevcut.'),
        array('uzakdogu-mutfagi',       'Uzakdoğu mutfağı mevcut.'),
        array('bar-pub',                'Bar-pub mevcut.'),
        array('brunch-kahvalti ',       'Brunch Kahvaltı mevcut.'),
        array('partiler',               'Partiler için uygun.'),
        array('cafe',                   'Cafe mevcut.'),
        array('club',                   'Club mevcut.'),
        array('dugun-mekanlari',        'Düğünler için uygun.'),
        array('fasil-mekanlari',        'Fasıl için uygun.'),
        array('et-restoranlari',        'Et restoranı bulunuyor.'),
        array('balik-restoranlari',     'Balık restoranı bulunuyor.'),
        array('meyhaneler',             'Meyhane bulunuyor.'),
        array('kina-geceleri',          'Kına geceleri için uygun.'),
    );

   return $categories;
}

我需要在我的视图文件中输出它。 有一个复选框,它应该如下所示:

foreach($categories as $k => $v)
{
    İş yemeklerine uygun: (second value of array)
    <input type="checkbox" id="{ $k }" name="{ $k }" value="(first value of array)">
}

输出应该是这样的;

İş yemeklerine uygun:
<input type="checkbox" id="0" name="0" value="is-yemekleri">

Bekarlığa veda partileri için uygun.
<input type="checkbox" id="1" name="1" value="bekarliga-veda">

...

Kına geceleri için uygun.
<input type="checkbox" id="18" name="18" value="kina-geceleri">

我该怎么做?

2 个答案:

答案 0 :(得分:3)

你的foreach循环中的每个$ v都是一个数组。

第一个$ v:

array('is-yemekleri','İş yemeklerine uygun.') //$v[0] and $v[1]

第二个$ v:

array('bekarliga-veda','Bekarlığa veda partileri için uygun.') //$v[0] and $v[1]

第三个​​$ v:

array('dogum-gunleri','Doğum günleri için uygun.') //$v[0] and $v[1]

等...

我认为你正在寻找这样的东西:

foreach($categories as $k => $v)
{
      echo $v[1]; //second value of array
      echo '<input type="checkbox" id="' . $k .'" name="'.$k.'" value="' . $v[0] . '" />';
}

答案 1 :(得分:0)

array_map(function($item,$key){
    echo  'İş yemeklerine uygun:'.$item[1];
    echo '<input type="checkbox" id="'.$key.'" name="'.$key.'" value="'.$item[0].'">``<br/>';
},$categories,array_keys($categories));