首頁 > 後端開發 > php教程 > 求高手 拯救我PHP变量后面带[]是什么 意思

求高手 拯救我PHP变量后面带[]是什么 意思

WBOY
發布: 2016-06-23 14:23:21
原創
1033 人瀏覽過

php

我就贴上关键代码
foreach ($logData as $key => $data) {			$kItem[] = $key;//这里变量后面的[]是什么			$dItem[] = $data;			$cshu++;			if($cshu == 8) $dItem[] = "i";		}		$field = implode(',', $kItem);		$values = "'" . implode("','", $dItem) . "'";		$this->db->query("INSERT INTO " . DB_PREFIX . "blog ($field) VALUES ($values)");
登入後複製


循环读出数组 循环到第八个数据的时候 修改 $dItem[]的值为i 但是在写入数据的时候 这个I却是多出的
SQL语句执行错误:INSERT INTO emlog_blog (title,alias,content,excerpt,author,sortid,date,top,allow_remark,allow_tb,hide,password) VALUES ('dsa','','das','','39','-1','1380936471','n','i','y','y','n','')
Column count doesn't match value count at row 1

报错的原因是因为多出了一个I值 我想把I前面的N替换掉的 但是不知道为什么他就是不能替换值


回复讨论(解决方案)

$kItem[] = $key;//这里变量后面的[]是什么

$kItem 这个时候已经是个数组了 上面这个的意思就是把原数组的当前key作为一个值保存到新的数组 kItem内

为数组增添新的单元.

$kItem[] = $key;//这里变量后面的[]是什么

$kItem 这个时候已经是个数组了 上面这个的意思就是把原数组的当前key作为一个值保存到新的数组 kItem内

为数组增添新的单元.
谢了 但是我想要循环到第8次的时候 替换数组的变量 但是他却帮我实现出来了 本来是12个值的 现在就变成了13个值 原因就是 if($cshu == 8) $dItem[] = "i"; 这个替换不成功 弄成输出了
请问 单$dItem[] = $data; 循环到 第八次的时候 把
$dItem[] = $data; 的值 替换为 i 要怎么写代码

$kItem[] = $key 表示把 $key 追加与数组 $kItem 之后
与 array_pish($kItem, $key) 等效

你 if($cshu == 8) $dItem[] = "i"; 后,显然 $cshu 要比 $kItem 至少要多一个元素
应写作

foreach ($logData as $key => $data) {  $kItem[] = $key;//这里变量后面的[]是什么  $dItem[] = $cshu == 7 ? "i" : $data;  $cshu++;}
登入後複製
登入後複製

$kItem[] = $key 表示把 $key 追加与数组 $kItem 之后
与 array_pish($kItem, $key) 等效

你 if($cshu == 8) $dItem[] = "i"; 后,显然 $cshu 要比 $kItem 至少要多一个元素
应写作

foreach ($logData as $key => $data) {  $kItem[] = $key;//这里变量后面的[]是什么  $dItem[] = $cshu == 7 ? "i" : $data;  $cshu++;}
登入後複製
登入後複製


打错鸟。。array_push

这是一个以数组的形式往数据库里添加数据的典型。可以参考这篇文章
很容易懂的。http://blog.csdn.net/timecolor/article/details/8982615

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板