草庐IT

行为不当

全部标签

php - strtotime() & date() 将日期转换为与以前相同的格式时出现奇怪的行为

我必须将日期格式转换为mm-dd-yyyy我不知道当前日期格式是什么,它是动态的所以如果我有动态日期格式已经在mm-dd-yyyy然后date()函数返回低于outout$date='02-13-2011';echodate('m-d-Y',strtotime($date));输出是01-01-1970?>http://codepad.org/AFZ6jel7所以我必须检查日期是否已经在mm-dd-yyyy中,然后不应用日期格式。还有其他方法吗?可能在这些函数中传递另一个参数或类似的东西。谢谢。 最佳答案 我强烈怀疑这是导致问题的原

php - 是否可以在 PHP 中的 ArrayIterator 对象上覆盖 print_r 的行为?

我有一个扩展ArrayIterator的PHP类,并实现了所有必要的方法,使其表现得像一个数组。这适用于foreach循环之类的事情,但调用print_r它仍然打印出对象的变量,而不是像打印数组那样打印它。是否有某种方法可以覆盖此行为,以便调用print_r(我猜var_dump)将打印此对象的自定义输出? 最佳答案 不,因为它旨在提供有关变量的信息(即它用于调试),而不仅仅是提供它的一些字符串表示形式。你可以覆盖__toString虽然并使用echo。 关于php-是否可以在PHP中的

php - isset 的奇怪行为

php5.3中的isset()似乎表现出意外。我有一个名为DBdetails的类,它封装了一堆带有getter和setter的字符串属性。$dbdetails->getDatabasename()评估为一个字符串(“mydb”)这会引发500错误:if(!isset($dbdetails->getDatabasename())){//dosomething}这很好用$databasename=$dbdetails->getDatabasename();if(!isset($databasename)){//dosomething}我无法看到任何日志输出,因为apache发回了500,即

php - 有人能给我一个很好的理由来说明为什么 assert in php 的行为方式是这样的吗?

PHP的断言语句的行为与大多数其他语言不同。assert('returnfalse');实际上评估字符串然后断言其结果(false)。它不是将参数与true进行比较,而是通过检查参数的额外步骤,如果它是评估它的字符串,则执行比较。确实很奇怪。我的问题不在于理解这种行为,我的问题在于为这种行为提出一个正当理由,尤其是。因为你现在必须做额外的脑力劳动来思考......“它的计算结果是一个字符串吗?”。 最佳答案 Theadvantagesofastringassertionarelessoverheadwhenassertionchec

php - 以标题行为键的 CSV 到 Json

我想将CSV转换为Json,使用标题行作为键,每一行作为对象。我该怎么做?--------------------------------CSV----------------------------------InvKey,DocNum,CardCode11704,1611704,BENV107211703,1611703,BENV1073--------------------------------PHP------------------------------------if(($handle=fopen('upload/BEN-new.csv'.'',"r"))!==FAL

php - php array_unique 的奇怪行为

我正在使用以下代码来输出一个数组:echo"======outputwithoutarray_unique=====";var_dump($selected);echo"=====outputwitharray_unique=====";var_dump(array_unique($selected));die;输出是:======outputwithoutarray_unique=====array0=>array'uri'=>string'http://localhost/conferences/tags/0caf4c990e0a385156b33fee58e7e3fb'(leng

php - 试图获取上个月的最后一天时奇怪的 PHP 日期行为

我刚刚注意到PHP日期函数的行为很奇怪,有人可以解释我做错了什么吗?以下代码显示相同的结果可能只是我太蠢了,但有人能解释一下为什么会这样吗? 最佳答案 在您的date('Y-m-t')调用中使用t时,您指的是:t-Numberofdaysinthegivenmonth如果您尝试过Y-m-d,您会发现这是两个不同的日期:string(10)"2016-03-31"string(10)"2016-03-02"要解决此问题,您可以使用strtotime格式lastdayoflastmonth:结果是:string(10)"2016-03-

php - 从 PHP 脚本调用 "php"命令导致奇怪的进程行为

我刚刚将网站从一台主机移至另一台主机。服务器环境非常相似(LAMP堆栈),所有代码在传输时都能正常工作,除了一行。我对它进行了一些改动以进行测试,但仍然得到非常奇怪的结果:在SSH中从命令行运行php../test/test.php123abc时,它工作正常,正如预期的那样。当我在SSH中运行:phptestrunner.php(上面只有“$out”行的文件)时,它也按预期工作。但是一旦我从浏览器加载testrunner.php,它就会挂起。使用psaux|grepphp来监视进程,进程似乎产生和消亡(为简洁起见被截断):myuser127900.00.325901645284...0

PHPExcel_IOFactory::createWriter 导致错误行为

创建PHPExcel程序后,最后一步是保存工作表,为此,我想应用这些规则以在Excel2007中生成文件:header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition:attachment;filename="workbook1.xlsx"');header('Cache-Control:max-age=0');$objWriter=PHPExcel_IOFactory::createWriter($objPHPEx

php - 非常奇怪的 Drupal 7 404 行为

我在D7中有一些我以前从未见过的非常奇怪的行为。我已将一个新站点从我的开发机器迁移到测试机器,因此代码和数据库是相同的。在开发机(Ubuntu13.04、Apache、PHP5.5.3)上,一切正常,但在Raspbian上运行PHP5.4.4的RaspberryPi测试盒上,我似乎在提交表单时遇到404错误。似乎发生的情况是表单未被处理,原始页面被返回,但当您查看HTTP响应时带有404状态代码。这会影响使用POST的所有内容,包括登录。我确实设法通过使用Firefox的Web开发工具将登录表单的“操作”属性更改为指向“/”来让它登录,但是很多其他的东西都不起作用,管理菜单偶尔会消失。