players将为空或以逗号分隔的列表(或单个值).检查它是否为空的最简单方法是什么?我假设我可以在将$gameresult数组取入后立即执行此操作$gamerow?在这种情况下,跳过爆炸它可能更有效,$playerlist如果它是空的,但为了参数,我如何检查数组是否也是空的?
$gamerow = mysql_fetch_array($gameresult);
$playerlist = explode(",", $gamerow['players']);
Run Code Online (Sandbox Code Playgroud) 我想检查两个数组是否相等.我的意思是:相同的大小,相同的索引,相同的值.我怎样才能做到这一点?
使用!==用户的建议,我希望如果数组中的至少一个元素不同,则以下将打印输入,但事实上它不是.
if (($_POST['atlOriginal'] !== $oldAtlPosition)
or ($_POST['atl'] !== $aext)
or ($_POST['sidesOriginal'] !== $oldSidePosition)
or ($_POST['sidesOriginal'] !== $sideext)) {
echo "enter";
}
Run Code Online (Sandbox Code Playgroud) 是否有可能获得相同名称的多个输入发布,然后从PHP访问它们?这个想法是这样的:我有一个表单,允许输入无限数量的物理地址和其他信息.如果我只是在几个条目中给每个字段指定相同的名称并通过post提交该数据,PHP是否可以访问它?
比方说,例如,我在一个名为"xyz"的页面上有五个输入,我想使用PHP访问它们.我可以这样做:
$_POST['xyz'][0]
Run Code Online (Sandbox Code Playgroud)
如果是这样,那将使我的生活变得容易十倍,因为我可以通过表单发送无限量的信息,并通过循环遍历名为"xyz"的项目数组来由服务器处理.
是否count()真的计算了PHP数组的所有元素,或者这个值是否缓存在某处并且只是被检索?
我正在寻找一个函数,它接受一个页面/类别数组(来自平面数据库结果),并根据父ID生成一个嵌套页面/类别项的数组.我想以递归方式执行此操作,以便可以完成任何级别的嵌套.
例如:我在一个查询中获取所有页面,这就是数据库表的样子
+-------+---------------+---------------------------+
| id | parent_id | title |
+-------+---------------+---------------------------+
| 1 | 0 | Parent Page |
| 2 | 1 | Sub Page |
| 3 | 2 | Sub Sub Page |
| 4 | 0 | Another Parent Page |
+-------+---------------+---------------------------+
Run Code Online (Sandbox Code Playgroud)
这是我想在我的视图文件中处理的数组:
Array
(
[0] => Array
(
[id] => 1
[parent_id] => 0
[title] => Parent Page
[children] => Array
(
[0] => Array
(
[id] => 2
[parent_id] => 1
[title] => Sub …Run Code Online (Sandbox Code Playgroud) 这大多是肤浅的,但是检查数组是否为空是最好的(表现更快,而不是个人偏好或可读性)方式:
count($arr) == 0empty($arr)$arr === array()我的猜测就是这样
但这并不能解释它在此处执行的任何编译时优化.
我不打算通过我的代码库更改所有实例以最快的方法,所以请不要提醒我它是微观优化.这是一种简单的好奇心.
php ×7
arrays ×5
count ×1
forms ×1
function ×1
html ×1
optimization ×1
performance ×1
post ×1
recursion ×1