用另一个键入一个数组?

时间:2014-11-14 10:18:52

标签: php arrays

我在下面有一个数组:

    "checkbox_1": [
      "1"
    ],
    "checkbox_2": [
      "0"
    ],
    "checkbox_3": [
      "0"
    ],
    "checkbox_4": [
      "0"
    ],
    "checkbox_5": [
      "0"
    ],
    "checkbox_6": [
      "0"
    ],
    "checkbox_7": [
      "0"
    ],
    "checkbox_8": [
      "0"
    ]

我想了解配对阵列有效存储标签的最佳方法:

$checkboxes = array('text value', 'text value, 'text value', '..');

如果checkbox_1为1,则找到文本值和输出。

我试过一个foreach,但觉得有一些很好的方法来接近这个。

1 个答案:

答案 0 :(得分:0)

array_intersect_keys可以帮到你。恕我直言看起来很干净。

$c = [
    'a'=>1,
    'b'=>0,
    'c'=>1,
    'd'=>0,
    'e'=>0,
    'f'=>1
];

$d = [
    'asd1',
    'asd2',
    'asd3',
    'asd4',
    'asd5',
    'asd6'
];

print_r(array_intersect_key($d, array_filter(array_values($c))));

结果

Array
(
    [0] => asd1
    [2] => asd3
    [5] => asd6
)

http://ideone.com/YCBQvl