重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东方网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
$array = [1,2,3,4,5];
//序列化
$insert = serialize($array);
//SQL操作
...
//取出来的数据再反序列化
$data = unserialize($fetch);
?
有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile
还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,
可以很简单的实现大批量数组数据的一次性插入。
[php] view plaincopy
$statement = "INSERT INTO table (title, type, customer) VALUES ";
foreach( $data as $row) {
$statement .= ' ("' . implode($row, '","') . '")';
}
不过大批量数据的插入,需要注意mysql在内存上有限制:
bulk_insert_buffer_size变量的默认大小为8M, 是指单个线程占用的大小限制,设置为0,表示不做限制。
根据你的语义描述可以用这样的方法来查询
$arr = ["1111111","12345","qwe"];
$result = [];
foreach ($arr as $val){
$result[] = $tail_fibers-distinct ( true )-where("type='$val'")-select();
}
不知道你用的是哪个SQL组件,但是大体都会提供类似 -whereIn('type',$arr) 这样的方法,等于直接用SQL的IN语句进行多个值查询,效率更高
SQL IN 操作符
?php//使用for循环遍历$arr2=array(array("张三","20","男"),array("李四","25","男"),array("王五","19","女"),array("赵六","25","女"));echo "table border=2 bordercolor=redtrtd姓名/tdtd年龄/td gt;td性别/td/tr";for($i=0;$i4;$i++){echo "tr";for($j=0;$j3;$j++){ echo "td"; echo $arr2[$i][$j]; echo "/td";}echo "/tr";echo "";}echo "/table";?//使用foreach遍历 ?php$arr = array('one'=array('name'='张三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='赵六','age'='12','sex'='女'));foreach($arr as $k=$val){ echo $val['name'].$val['age'].$val['sex']."";}echo "p";??php$arr = array('one'=array('name'='张三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='赵六','age'='12','sex'='女'));foreach($arr as $key=$value){foreach($value as $key2=$value2){ echo $value2;}echo "";}?
注:foreach只能用于数组
第一种格式遍历给定数组$array,每次循环,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(下一次循环中将会得到下一个单元)。
第二种格式也是遍历给定的数组$array,不同的是键名也参与了。在每次循环中将键值赋给$value,将键名赋给变量 $key
?
//第一种
$array=array(1,2,3,4);
foreach($array as $value){
echo $value." ";
}//输出结果为:1 2 3 4
//第二种
foreach($array as $key=$value){
echo $key."=".$value." ";
}//输出结果为:0=1 1=2 2=3 3=4
?
这个是二维数组,我给你个写法啊,首先要遍厉array(1)这个数组用foreach($array1 as $key =$value){echo $value;}前台将会输出$value;然后你再遍厉$value foreach($value as $key1=$val1){$key1;}echo$value['key1'];key1填你想要的那个值的下标,第二次的遍厉已经遍厉出来了,不知道的话,就用print_r();方法打印出来看