0

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

<?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) 是它的最后一个元素。

4

1 回答 1

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);

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

于 2012-04-13T10:31:48.750 回答