我有一个二维数组,其中包含必须使用以下规则验证的数字范围,范围应从0开始,然后按算术级数进行.
例如:
$array = array();
$array[] = array(0);//VALID
$array[] = array(0,1,2,3,4,5);//VALID
$array[] = array("0","1");//VALID
$array[] = array(0,1,3,4,5,6);//WRONG
$array[] = array(1,2,3,4,5);//WRONG
$array[] = array(0,0,1,2,3,4);//WRONG
Run Code Online (Sandbox Code Playgroud)
什么是在PHP中最有效的方法?
更新 我忘了添加数字可以表示为字符串
我有一个脚本来处理原始CSV数据并生成按年度分组的报告.
看起来像这样:
//timezone is set to Europe/London
$date = new DateTime($raw['order_date']); // example: 12/31/2012
$key = $date->format('Y W'); // 2012 01
$array[$key][] = $raw['product_id'];
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我试图解析在新年前夕产生的数据,由于某种原因,系统认为2012年12月31日是2012年的第1周.我不确定它是错误还是功能,但产生的报告肯定是错误.
传递此问题并将数据按周分组的正确方法是什么?
在Heroku上建立的Facebook应用程序上工作,使用git下载代码,并使用xampp作为apache网络服务器。必须将xampp设置为侦听其他端口,因为采用了:80,因此将httpd.conf更改为Listen 8080并添加了虚拟主机,因此我可以根据Heroku facebook应用程序的要求设置facebook环境变量。为了使apache正常运行,发现网站指出我还必须在httpd-ssl.conf中更改SSL端口。我根据另一个网站的建议将其更改为4430。Apache / xampp现在可以正常启动了,但是当我进入它时,我从Facebook Heroku代码中收到了错误消息(相同的错误,无论是通过apps.facebook.com/myapp还是直接在localhost:8080)都遵循以下错误:
Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\index.php on line 4
Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\AppInfo.php on line 36
Notice: Undefined index: HTTP_X_FORWARDED_PROTO in C:\Users\me\project\AppInfo.php on line 36
Notice: Undefined index: access_token in C:\Users\me\project\FBUtils.php on line 108
Run Code Online (Sandbox Code Playgroud)
问题开始的第一个文件的第一行:
<?php
// Enforce https on production
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == "http" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1' && $_SE RVER['REMOTE_ADDR'] != 'localhost') {
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
exit();
}
Run Code Online (Sandbox Code Playgroud)
请注意,此代码由Heroku / GitHub在其平台上设置Facebook App时提供。除了我列出的错误之外,似乎还有很多错误。
我正在运行PHP5和Apache并启用了mod_rewrite.
正如我们所知,在每个页面上,加载浏览器将cookie数据发送到请求的文 这些数据对PHP文件很有用,但是对于图像或css文件,它没有任何价值,只是简化了浏览器和服务器之间的通信.
有没有办法告诉浏览器或服务器停止对某些文件类型或目录这样做?
我正在尝试使用以下命令将 csv 文件加载到 mySQL 中:
LOAD DATA INFILE '/tmp/alcoa_2012_05_15.csv' into table alcoa fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(@var1, Time, volume, open, close, min, max)
set date = STR_TO_DATE(@var1, '%d-%b-%y')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
error 13, load data infile can't get stat of file Errcode: 2
Run Code Online (Sandbox Code Playgroud)
这表明它找不到数据文件。我尝试过命令的一些小变化:
LOAD DATA LOCAL INFILE ...
Run Code Online (Sandbox Code Playgroud)
其他一切都一样,现在我收到以下错误消息:
ERROR 1148, The used command is not allowed with this MySQL version!
Run Code Online (Sandbox Code Playgroud)
我在 Ubuntu 12.04 上使用最新下载的 MySQL(均是两周前安装的)
我很困惑,经过大量搜索后,这个论坛已经回答了之前的问题,这些问题很接近,但不完全是答案。
谢谢
杰夫