Php 我可以将数组存储在变量中吗?
可能重复:Php 我可以将数组存储在变量中吗?,php,arrays,variables,Php,Arrays,Variables,可能重复: 我可以将数组存储在变量中吗 我有这个阵列: $_POST['product'] 当我打印它时: echo "<PRE>"; print_r($_POST['product']); echo "</PRE>"; echo”“; 打印($_POST['product']); 回声“; 结果是: <PRE>Array ( [0] => Array ( [0] => 1
我可以将数组存储在变量中吗 我有这个阵列:
$_POST['product']
当我打印它时:
echo "<PRE>";
print_r($_POST['product']);
echo "</PRE>";
echo”“;
打印($_POST['product']);
回声“;
结果是:
<PRE>Array
(
[0] => Array
(
[0] => 1
[1] => cola
[2] => wwww
[3] => 1
[4] => 2.00
[5] => 0.00
[6] => 2.00
)
)
</PRE>
数组
(
[0]=>阵列
(
[0] => 1
[1] =>可乐
[2] =>WW
[3] => 1
[4] => 2.00
[5] => 0.00
[6] => 2.00
)
)
如何将数组的值存储在变量中?例如,我需要在数据库的表中插入
[1]=>cola
。必须使用foreach循环“扫描”数组并向数据库发送插入查询,如下所示:
if(!empty($_POST['product'])) {
$colaVar = $_POST['product'][0][1];
echo $colaVar; // outputs'cola'
}
<?php
$updateStmt = $pdo->prepare("INSERT INTO table (field) VALUES (:FIELD)");
foreach( $_POST['product'] as $key => $val ){
$updateStmt->execute(array(
':FIELD' => $val
));
}
?>
必须使用foreach循环“扫描”数组并向数据库发送插入查询,如下所示:
<?php
$updateStmt = $pdo->prepare("INSERT INTO table (field) VALUES (:FIELD)");
foreach( $_POST['product'] as $key => $val ){
$updateStmt->execute(array(
':FIELD' => $val
));
}
?>
您根本不需要它,只需执行以下操作:
$arr = $_POST['product']
echo $arr[0][1]
这是访问数组值以执行任何操作的正常方式。您根本不需要这些,只需执行以下操作:
$arr = $_POST['product']
echo $arr[0][1]
这是访问数组值以执行任何操作的正常方式。您可以像
$\u POST['product'][0][1]
一样访问数组以获取cola的值
对于多次插入数据库,应该使用foreach循环或For循环
已更新
好,,
Foreach循环
foreach($_POST['product'] as $product) {
mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$product[0]."','".$product[1]."'....)");
}
我更喜欢使用for循环
$count_array = count($_POST['product']);
for($i=0; $i>= $count_array; $i++){
mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$_POST['product'][$i]."','".$_POST['product'][$i]."'....)");
}
通过避免for/foreach循环中的insert sql,还有一种优化插入数据库的方法。。
但就目前而言,这应该对你有用……) 您可以访问数组,如
$\u POST['product'][0][1]
以获取cola的值
对于多次插入数据库,应该使用foreach循环或For循环
已更新
好,,
Foreach循环
foreach($_POST['product'] as $product) {
mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$product[0]."','".$product[1]."'....)");
}
我更喜欢使用for循环
$count_array = count($_POST['product']);
for($i=0; $i>= $count_array; $i++){
mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$_POST['product'][$i]."','".$_POST['product'][$i]."'....)");
}
通过避免for/foreach循环中的insert sql,还有一种优化插入数据库的方法。。
但就目前而言,这应该对你有用……) 你能不能。。。说清楚了吗?你是说
$\u POST['product'][0][1]
?你能不能。。。说清楚了吗?你说的是$\u POST['product'][0][1]
?你根本不需要它,只要做以下事情:echo$\u POST['product'][0][1]
@AlvinWong你说得对,但如果他不想处理或更改密钥的值!但是我在一个进程上插入多个数组我能做什么呢???@Zamalkawyana循环通过数组是solution@sєєsєєМ如何通过循环中的数组??您根本不需要它,只需执行以下操作:echo$\u POST['product'][0][1]
@AlvinWong好吧,你说得更对,但他不想处理或更改密钥的值!但是我在一个进程上插入多个数组我能做什么呢???@Zamalkawyana循环通过数组是solution@sєєєєєєєєєєєєєє如何通过循环中的数组?记住要对!!!1.11可以使用mysql\u real\u escape\u string()
、PDO或其他方法。记住清理输入!!!1.11可以使用mysql\u real\u escape\u string()
、PDO或其他方法。