多重内爆(PHP)

时间:2012-04-13 10:28:35

标签: php implode

我正在尝试创建一个给定以下数组的implode

<?php

    $conditions = array(
         'username' => array('=', 'nblackburn'),
         'password' => array('=', 'password')
    );

    $output = array();
    foreach($conditions as $key => $values) {
        $output[] = $key.' '.implode(' ', $values);
    }

    echo implode(' AND ', $output);

?>

应返回如下字符串:

username = nblackburn AND password = password

但是,我在使用它时遇到了问题。如您所见,第一部分(username)是数组的键,第二部分(=)是子数组中的第一个元素,最后一个(nblackburn)是最后一个元素。元件。

1 个答案:

答案 0 :(得分:3)

喜欢这个吗?

$str = array();
foreach($test as $key => $values) {

  // if there are always only 2 values inside
  $str[] = $key .' '.$values[0].' '.$values[1];

  // with more values (taken from nblackburns solution)
  $str[] = $key.' '.implode(' ', $values);
}

echo implode(' AND', $str);

但正如评论中所提到的,如果它带来漏洞,请不要使用它!