PHP使用foreach获取数组值

PHP使用foreach获取数组值,php,Php,PHP如何获取数组值: <?php print_r($_POST['cb']); Array ( [0] => Array ( [id] => 1 [tipe] => read ) [1] => Array ( [id] => 1 [tipe] => update ) [2] => Array ( [id] => 2

PHP如何获取数组值:

<?php

print_r($_POST['cb']);

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

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

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

)
?>
$getID
表示数组中的[id],而
$getTipe
表示数组中的[tipe]


可以这样做吗?

如果数组有100个索引,则查询将执行100次以插入数据。尽量避免此类操作,请参见下面的答案,您可以在单个查询中插入数据,代码未经测试,您可以根据需要进行调整

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

我希望这可以节省您的数据库操作开销

我建议您:根据数组大小,不要执行N次查询。在一个查询中插入所有数据,谢谢您的回答。尝试了您的代码,但仅当我只选择1个复选框时,它才会保存。如果更多,则不会保存到数据库。请给出建议。尝试回显“INSERT-INTO-TDATA(ID,CHKSTATUS)VALUES”。$VALUES。“&查看完整的查询这是当我回显时,INSERT-INTO-TDATA(ID,CHKSTATUS)VALUES('1','create'),('1','update'),('2','read'),('2','delete'),顺便说一句,我正在使用Oracle如果ID字段是主键,此查询将只插入一个值,由于重复的ID值“1”
$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);