Questions tagged «php»

PHP是一种广泛使用的高级动态,面向对象和解释性脚本语言,主要用于服务器端Web开发。用于有关PHP语言的问题。

4
PHP foreach循环键值
我正在运行此数据库调用以获取多维数组,我试图获取每个数组的键,但是当我尝试将其显示为空白或数组时。 $root_array = array(); $sites = $this->sites($member_id); foreach ($sites as $site){ $records = $this->db->select('p.name as place_name, p.id as place_id,p.active as place_status') ->from('places p') ->join('members_permissions pm','pm.sites_id = p.sites_id and pm.members_id ='.$member_id) ->where('p.active', 0) ->get(); $places = $records->result_array(); $places['name'] = $site['name']; foreach($places as $place){ $root_array[$site['name']][] = $place; } } return $root_array; 这是我的php循环遍历: …
135 php  foreach 



30
Chrome网络:: ERR_INCOMPLETE_CHUNKED_ENCODING错误
在过去的两个月中,我在Chrome的开发人员控制台上收到以下错误: net::ERR_INCOMPLETE_CHUNKED_ENCODING 症状: 页面未加载。 截断的CSS和JS文件。 页面挂起。 服务器环境: 阿帕奇2.2.22 的PHP 的Ubuntu 这是在我们内部的Apache服务器上发生的。这对其他任何人都没有发生-即我们的用户都没有遇到此问题-我们的开发团队中也没有其他人。 其他人正在使用完全相同版本的Chrome访问完全相同的服务器。我还尝试了禁用所有扩展名并以隐身模式浏览-无效。 我使用了Firefox,并且发生了完全相同的事情。截断的文件等等。唯一的是,Firefox不会引发任何控制台错误,因此您需要通过Firebug检查HTTP请求以查看问题。 来自Apache的响应头: Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:close Content-Encoding:gzip Content-Type:text/html; charset=utf-8 Date:Mon, 27 Apr 2015 10:52:52 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Pragma:no-cache Server:Apache/2.2.22 (Ubuntu) Transfer-Encoding:chunked Vary:Accept-Encoding X-Powered-By:PHP/5.3.10-1ubuntu3.8 在测试期间,我可以通过在htaccess文件中强制使用HTTP 1.0来解决此问题: SetEnv downgrade-1.0 这摆脱了问题。但是,在HTTP 1.1上强制HTTP 1.0是不合适的解决方案。 更新:因为我是唯一遇到此问题的人,所以我认为我需要花更多的时间调查这是否是客户端问题。如果我进入Chrome的设置并使用“还原为默认值”选项,该问题将消失约10-20分钟。然后返回。

5
PHP中FOR与FOREACH的性能
首先,我了解90%的应用程序中的性能差异完全无关紧要,但是我只需要知道哪个是更快的构造即可。那... 当前网上可用的信息令人困惑。许多人都说foreach不好,但是从技术上讲应该更快,因为它假设可以简化使用迭代器编写数组遍历的过程。再次被认为是更快的迭代器,但是在PHP中显然也很慢(或者这不是PHP吗?)。我说的是数组函数:next()prev()reset()等,如果它们甚至是函数,而不是那些看起来像函数的PHP语言功能之一。 稍微缩小一点:我对以大于1的步长遍历数组并不感兴趣(也没有负步长,即反向迭代)。我对遍历任意点(长度仅为0)也不感兴趣。我也看不到有规则地操纵具有1000个以上键的数组,但是我确实看到一个数组在应用程序的逻辑中被遍历了多次!此外,对于操作,主要仅是字符串操作和回显。 以下是一些参考站点: http : //www.phpbench.com/ http://www.php.lt/benchmark/phpbench.php 我到处都能听到: foreach慢,因此for/ while快 PHP foreach复制它迭代的数组;为了更快,您需要使用参考 像这样的代码:比$key = array_keys($aHash); $size = sizeOf($key); for ($i=0; $i < $size; $i++)foreach 这是我的问题。我写了这个测试脚本:http : //pastebin.com/1ZgK07US,无论我运行脚本多少次,我都会得到如下信息: foreach 1.1438131332397 foreach (using reference) 1.2919359207153 for 1.4262869358063 foreach (hash table) 1.5696921348572 for (hash table) 2.4778981208801 简而言之: foreach比foreach参考更快 foreach 比 for foreach比for散列表快 …

7
赋予变量默认值的最佳方法(模拟Perl ||,|| =)
我喜欢在Perl中做这种事情:$foo = $bar || $baz分配$baz给$foo是否$bar为空或未定义。您还可以$foo ||= $bletch将只分配$bletch到$foo如果$foo没有定义或清空。 在这种情况下,三元运算符既繁琐又累人。当然,PHP中提供了一种简单,优雅的方法吗? 还是唯一的答案是使用isset()的自定义函数?


7
如何在Twig中访问类常量?
我的实体类中有一些类常量,例如: class Entity { const TYPE_PERSON = 0; const TYPE_COMPANY = 1; } 在普通的PHP中,我经常这样做if($var == Entity::TYPE_PERSON),我想在Twig中做这种事情。可能吗?
133 php  templates  twig 

8
拒绝htaccess对文件夹和文件的直接访问
这是方案: index.php根文件夹中有一个文件 一些文件包含在index.php其中是在includes文件夹中。 submit.php根文件夹中还有1个其他文件()用于表单提交操作。 我想includes通过htaccess 限制直接用户访问文件夹中的文件。也为submit.php。但是include将适用于index.php文件。就像,如果用户键入www.domain.com/includes/somepage.php,它将对其进行限制(可以重定向到错误页面)。

12
是什么导致PHP中“无法为池分配内存”?
我偶尔会遇到服务器的内存分配限制,尤其是对于像Wordpress这样a肿的应用程序,但是却从未遇到过“无法为池分配内存”和跟踪任何信息的麻烦。 有人知道这意味着什么吗?我尝试增加memory_limit失败。我也没有对该应用程序进行任何重大更改。有一天没有问题,第二天我遇到了这个错误。
133 php  caching  memory  apc 

11
SHA1 vs md5 vs SHA256:哪个用于PHP登录?
我正在进行php登录,并且试图确定是使用SHA1还是Md5,还是我在另一stackoverflow文章中了解到的SHA256。他们中的任何一个比其他人更安全吗?对于SHA1 / 256,我还使用盐吗? 另外,这是将密码作为哈希存储在mysql中的安全方法吗? function createSalt() { $string = md5(uniqid(rand(), true)); return substr($string, 0, 3); } $salt = createSalt(); $hash = sha1($salt . $hash);
133 php  login  md5  sha1  sha256 

12
没有Cookie或本地存储的用户识别
我正在构建一个分析工具,目前可以从其用户代理获取用户的IP地址,浏览器和操作系统。 我想知道是否有可能在不使用Cookie或本地存储的情况下检测到同一用户?我不希望在这里有代码示例。只是进一步了解的简单提示。 忘记提及如果它是同一台计算机/设备,则需要跨浏览器兼容。基本上,我是在设备识别之后才真正不是用户。

13
Composer警告:openssl扩展名丢失。如何在WAMP中启用
试图通过安装程序安装程序在Win7 / 64 + WampServer 2.2上安装Composer依赖性管理工具,我得到以下消息: 缺少openssl扩展名,这将降低Composer的安全性和稳定性。如果可能的话,您应该启用它或使用--with-openssl重新编译php 所以这就是我所做的... 在我的托盘中的Wamp图标中,单击 php > php extensions > php_openssl 这表明通过在扩展名旁边放置复选标记可以完成任务 然后,我重新启动了WampServer 然后从托盘中的Wamp图标中,单击php > php.ini并搜索openssl以验证它没有被注释掉)。它不是。 然后,我返回到Composer-Setup.exe并再次尝试。相同的警告消息:“缺少openssl扩展名” 由于从未使用过OpenSSL,所以我不确定应该设置什么,因此我尝试使用https浏览到我的本地站点之一。失败了。 我想念什么? 请指教。

2
PHP_excel的替代方法
PHP_excel是否有其他选择可以以自定义格式“导出到XLSX / XLS”文件? 这是一般参考的问题的PHP 标签
132 php  phpexcel 

11
从字符串中删除多余的空格
我从数据库查询中收到一个字符串,然后删除所有HTML标记,回车符和换行符,然后再将其放入CSV文件。唯一的事情是,我找不到删除方法字符串之间多余的空白的方法。 删除内部空白字符的最佳方法是什么?
132 php  string 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.