douyiji3919 2017-03-04 11:39
浏览 59
已采纳

PHP使用foreach获取数组值

PHP how to get array value:

<?php

print_r($_POST['cb']);

Array
(
[0] => Array
    (
        [id] => 1
        [tipe] => read
    )

[1] => Array
    (
        [id] => 1
        [tipe] => update
    )

[2] => Array
    (
        [id] => 2
        [tipe] => update
    )

)
?>

So what I want to get maybe in foreach function like this:

foreach(...)
{
   $qInsert = oci_parse("INSERT INTO TDATA(ID, CHKSTATUS) VALUES('$getID', '$getTipe')");
   oci_execute($qInsert);
}

$getID means the [id], and $getTipe means the [tipe] in array.

Is it possible to do like that?

  • 写回答

1条回答 默认 最新

  • dongyi9023 2017-03-04 12:23
    关注

    If your Array has 100s of indices, your query will execute 100 times to insert data. Avoid such operations as much as possible, See the answer below, you can insert data in a single query, the code is not tested, you can adjust to meet your requirements .

    $dataArray = $_POST['cb']; 
    $queryData = null;
    
    foreach($dataArray as $data){
    
        $queryData[]="(".$data['id'].", '".$data['tipe']."')";
    
    }
    
    $values = implode(',',$queryData);
    $qInsert = oci_parse("INSERT INTO TDATA(ID, CHKSTATUS) VALUES ".$values."");
    oci_execute($qInsert);
    

    I hope this might save your database operations overhead

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ROS Turtlebot3 多机协同自主探索环境时遇到的多机任务分配问题,explore节点
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题