很多站长朋友们都不太清楚php重组索引,今天小编就来给大家整理php重组索引,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP 索引重置 请高手帮忙 2、 php如何将两个索引数据合并成索引加关联数组 3、 PHP重置数组为连续数字索引的几种方式 4、 PHP重置索引 PHP 索引重置 请高手帮忙错误信息说你的参数 $qa_id_array 不是数组类型,可能SQL查询结果为空或者遇到了错误,你可以在9行前面增加下面的调试语句看看结果:
echo '<pre>';
print_r( $qa_id_array );
echo '</pre>';
补充:
我把程序全部给你修改了可以不,你那些变量命名我不习惯。
而且你$qa_id = array_values($qa_id_array);之后就当$qa_id作为字符串使用是错误的。
修改后的程序如下:
<?php
include ("./mysqlconn.php");
mysql_connect($mysqlserver,$mysqluser,$mysqlpassword)
or die("Could not connect: " . mysql_error());
mysql_select_db('pmwebsys');
$sql = "SELECT * FROM col_qarecord";
if ($res=mysql_query($sql)){
$row = mysql_fetch_array($res);
$qa_id = join(',', $row);
$sql="UPDATE col_qarecord SET qa_id = '$qa_id'";
if (mysql_query($sql)) echo '修改成功';
else echo "SQL:$sql<br>\n错误:".mysql_error();
}else echo "SQL:$sql<br>\n错误:".mysql_error();
?>
补充:
join错误是因为select语句没有返回结果,你的col_qarecord表可能是空的吧,一条记录也没有。
补充:
数据库记录都清空了,你还select个什么呢?!还update个什么呢?!
MYSQL的索引是在数据库任何修改的时候(删除、修改、添加)自动重建的,你如果是需要修改自动编码字段的值,请在phpmyadmin里面直接修改即可,我们这两天调试的这个破程序没有任何效果,除了浪费时间以外。
补充:
Data truncated for column 'qa_id' at row 1表示你UPDATE给字段qa_id的内容超过了字段定义的长度。
补充:
int只能存放一个整数,你粘贴输出的SQL就知道了。
补充:
我感觉你都明白了的,你知道你还有什么问题,能够明确的提个为什么吗
php如何将两个索引数据合并成索引加关联数组$arr1 = array(1,2);
$arr2 = array(5,6);
$arr3 = array();
foreach ($arr1 as $k => $v) {
$arr3[] = array('name'=>$arr1[$k],'img'=>$arr2[$k]);
}
print_r($arr3);
PHP重置数组为连续数字索引的几种方式PHP重置数组为连续数字索引的几种方式
比如这样的一个php数组:
[php] view plain copy
$arr = array(
1 => 'apple',
3 => 'banana',
5 => 'orange'
);
想要转换为这样的数组:
[php] view plain copy
$arr = array(
0 => 'apple',
1 => 'banana',
2 => 'orange'
);
1、推荐的方式 array_values 方法
这样方式无论对普通数组还是关联数组都适用
[php] view plain copy
<?php
$arr = array(
1 => 'apple',
3 => 'banana',
5 => 'orange'
);
print_r(array_values($arr));
$arr1 = array(
'name' => 'jerry',
'age' => 16,
'height' => '18cm'
);
print_r(array_values($arr1));
输出结果:
[sql] view plain copy
[root@localhost php]# php array.php
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Array
(
[0] => jerry
[1] => 16
[2] => 18cm
)
2、使用 array_merge 方法
该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。
[php] view plain copy
<?php
$arr = array(
1 => 'apple',
3 => 'banana',
5 => 'orange'
);
print_r(array_merge($arr));
$arr1 = array(
'name' => 'jerry',
'age' => 16,
'height' => '18cm'
);
print_r(array_merge($arr1));
输出结果:
[php] view plain copy
[root@localhost php]# php array.php
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Array
(
[name] => jerry
[age] => 16
[height] => 18cm
)
3、循环遍历
最原始的方式,臃肿且不够优雅,极力抵制。
[php] view plain copy
<?php
function resetArr($arr){
$temp = array();
foreach($arr as $v){
$temp[] = $v;
}
return $temp;
}
$arr = array(
1 => 'apple',
3 => 'banana',
5 => 'orange'
);
print_r(resetArr($arr));
$arr1 = array(
'name' => 'jerry',
'age' => 16,
'height' => '18cm'
);
print_r(resetArr($arr1));
That‘s it!
PHP重置索引为什么$array = array_values($array);后再打印出来的索引就是从0开始的
array_values()不是获取数组的值吗 跟重置索引有什么关系
===================
是获取数组的值,而且抛弃原数组的索引,重建一个数组.所以相当于重置索引.
关于php重组索引的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php重组索引 php索引数组和关联数组的详细内容...