标签存档: Array

PHP读取Excel文档

<?php
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
require_once 'PHPExcel/Reader/Excel5.php';
/* 以上三步加载phpExcel的类
下载地址:https://github.com/PHPOffice/PHPExcel/tree/1.8/Classes */

$filename='F:\PhpStudy\PHPTutorial\WWW\exc\test.xlsx';//指定excel文件

$file = iconv("utf-8","gb2312",$filename);   //转码 

if(empty($file) OR !file_exists($file)) {  
    die('file not exists!');  
}

$extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) );

if ($extension =='xlsx') {

	$objReader = PHPExcel_IOFactory::createReader('excel2007');
    $objReader->setReadDataOnly(true);
    $objReader->setLoadSheetsOnly(true);	
    $objExcel = $objReader ->load($filename);
} elseif ($extension =='xls') {

	$objReader = PHPExcel_IOFactory::createReader('excel5');
    $objReader->setReadDataOnly(true);
    $objReader->setLoadSheetsOnly(true);	
    $objExcel = $objReader ->load($filename);
}

$sheet = $objExcel->getSheet(0)->toArray(); 

print_r($sheet);

参考:https://baike.baidu.com/item/phpexcel/10979571

PHP中变量值为“假”的情况

$a = 0;
$b = "0";
$c = "";
$d = false;
$e = null;
$f = [];
$g = array();

echo $a?"0 is true":"0 is false \n";
echo $b?"'0' is true":"'0' is false \n";
echo $c?"'' is true":"'' is false \n";
echo $d?"false is true":"false is false \n";
echo $e?"null is true":"null is false \n";
echo $f?"[] is true":"[] is false \n";
echo $g?"array() is true":"array() is false \n";
echo $f===$g?"[] === array() \n":"[] !== array() \n";

运行结果:

0 is false
'0' is false
'' is false
false is false
null is false
[] is false
array() is false
[] === array()

通过get请求传递json参数

url:function(row){
   var a   = JSON.stringify(row.yq_ids);
   console.log(a);	
   return 'market/areaccount/overdue?yq_ids='+escape(a);
}

然后在overdue方法中将yq_ids转成数组:

$yq_ids = json_decode($_GET['yq_ids'],true);

页面中一键向后台多张表插入数据

一、获取页面中所有form的文本值并打包(下文省略部分代码):

var forms = $(".warpper1").find("form");
var arr = new Object();
for(var i=0;i<forms.length;i++){
	var id = forms.eq(i).attr("id");
	arr[id] = $("#"+id).serializeArray();
}
console.table(arr);
$.ajax({
        url:'/Home/Members/perfect_now',                      
	data:arr,
	dataType:'html',
	type:'post',
        success:function(data){
            	console.log(data);
        }
});

二、将后台获取的$_POST转化成易于插入数据库表的数据结构:

//print_r($_POST);
foreach($_POST as $k=>$v){
    $num = 0;
    foreach($v as $key=>$val){
	if($val['name'] == $v[0]['name'] && $key != 0){
	    ++$num;
	}
										
	$_POST[$k][$num][$val['name']] = $val['value'];						

	if($key != $num){unset($_POST[$k][$key]);}	
	unset($_POST[$k][$num]['name']);
	unset($_POST[$k][$num]['value']);																	
    }
}
//print_r($_POST);exit;

上传图预览

HTML部分

<img id="pscover" src="__PUBLIC__/Home/images/z_70.jpg" alt="" />
<input type="file" name="scover" id="scover" />
<img id="pqr" src="__PUBLIC__/Home/images/z_70.jpg" alt="" />
<input type="file" name="qr" id="qr"/>

JS部分(注意引入jQ)

window.onload = function(){
	var arr = new Array();
	arr["img[id='pscover']"] = "input[name='scover']";
	arr["img[id='pqr']"] = "input[name='qr']";
	for(var i in arr){
		void function(i){
			$(arr[i]).on("change",function(){
		 		var pic = this.files[0];
		 		pic_preview(pic,i);
			})		
		}(i)	 	
	}
	function pic_preview(pic,obj){
		var f = new FileReader();
		f.readAsDataURL(pic);
		f.onload = function (e){
			$(obj).attr("src",this.result).show();
		}
	}	
}