在PHP中专门格式化数组

时间:2017-07-05 07:02:24

标签: php mysql arrays mysqli

我的网站上有以下PHP代码:

<?php
    $FirstName = array("Jacob", "Noah", "Frank");
    $LastName = array("Collins", "Little", "Allen");
    $BirthDay = array(19, 31, 06);
?>

我希望它像这样输出:

("Jacob", "Collins", 19), ("Noah", "Little", 31), ("Frank", "Allen", 06)

表示SQL字符串,它将是:

INSERT INTO Users (FirstName, LastName, BirthDay) VALUES ("Jacob", "Collins", 19), ("Noah", "Little", 31), ("Frank", "Allen", 06);

我对PHP很新(昨天才开始),并且想知道我会怎么做。

感谢。

4 个答案:

答案 0 :(得分:1)

简单地说,如果您的$FirstName$LastName$BirthDay计数相同,

使用for循环和array_push你可以这样做:

$data = array();
$count = count($FirstName);

for($i = 0; $i < $count; $i++ ){

    $insert = [$FirstName[$i],$LastName[$i], $BirthDay[$i]];
    array_push($data,$insert);

}

$data为您提供格式化数组。

答案 1 :(得分:0)

由于你刚接触PHP,我们还没有上课。

在不破坏或修改存储数据的情况下,一种简单的方法是使用多维数组,如下所示:

<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
 
 <div ng-app='app' ng-controller='ctrl'>   
   <ul>
     <li ng-repeat='item in result'>{{item | json}}</li>
   </ul>   
 </div>

但是,请记住,这种构建查询的方式非常危险!

答案 2 :(得分:0)

你可以使用for循环

<?php
$FirstName = array("Jacob", "Noah", "Frank");
    $LastName = array("Collins", "Little", "Allen");
    $BirthDay = array(19, 31, 06);
$length = count($FirstName);
for($x=0;$x<$length;$x++)
{
    $custom = array();
    $f = $FirstName[$x];
    $l = $LastName[$x];
    $b = $BirthDay[$x];
    array_push($custom,$f);
    array_push($custom,$l);
    array_push($custom,$b);
    print_r($custom);
}
?>

希望这会有所帮助..!

答案 3 :(得分:0)

当生日或姓氏不在数组

时,

下面的代码可以帮助您

    $data = [];
    $total = count($FirstName);
    for($i = 0;$i < $total;$i++) {
        $tmp = [];
        $tmp[] = (isset($FirstName[$i]))? $FirstName[$i] : "";
        $tmp[] = (isset($LastName[$i]))? $LastName[$i] : "";
        $tmp[] = (isset($BirthDay[$i]))? $BirthDay[$i] : "";
        $data[] = $tmp;
    }

    // $data is array what you want i have just dump the $data 

    echo "<pre>";
    var_dump($data);