为了账号安全,请及时绑定邮箱和手机立即绑定

在 If 条件下使用 PHP 关联数组

在 If 条件下使用 PHP 关联数组

PHP
qq_花开花谢_0 2022-07-09 16:14:01
我对 if 条件中语句的含义及其目的有疑问。我在下面发布了完整的 PHP 代码。这是我目前正在研究的另一个人的代码,我的问题是关于特定的代码行(请参阅我的问题的下一段)。<?php    $dir = '../assets/videos/';                 if(is_dir($dir)) {        $filesread = array();        $dh = opendir($dir);        print_r($filesread);        while(($file = readdir($dh)) !== false) {            if($file != '.' && $file != '..') {                //returns all file names wihout extension                $withoutExt = preg_replace('/\\.[^.\\s]{3,4}$/', '', $file);                    if($filesread[$withoutExt] !== true) {                                                          $hasSQL = false;                                                            foreach($films as $f) {                                                                 if($f['file_name'] == $withoutExt) {                                                                        echo '                                <div class="row">                                    <div class="col-xs-8">                                        <a href="'.$dir.$f['file_name'].'.mp4" target="_blank">'.$withoutExt.'</a>                                    </div>在这个 php 代码中,我不太确定该语句是什么if($filesread[$withoutExt] !== true)意思。  if($filesread[$withoutExt] !== true) {//code to be excute}我不知道是什么$filesread[$withoutExt]。我所知道的是$filesread = array();并且$withoutExt是不带扩展名的文件名。我的猜测是程序员试图使用$withoutExt 作为从$filesread数组中获取值的键,但 $filesread是一个空数组。他如何从空数组中获取值?有谁理解$filesread[$withoutExt]这个 if 语句的含义和目的?非常感谢!
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

$filesread是一个包含文件名的数组,没有扩展名作为键。对于一个假设已经列出的项目,其标志为 true。分配发生在输出之后:

$filesread[$withoutExt] = true;

我的猜测是可能有多个文件名包含不同的扩展名。也许每部电影的字幕或缩略图文件。而且您不想多次列出它们。

因此检查:

$filesread[$withoutExt] !== true

对于无扩展键,数组不包含 true 值。

然而,表达式在这里可以很容易地写成:

!isset($filesread[$withoutExt])

但由于这是代码的摘录,因此该数组可能包含在其他地方分配的其他值。

在第一次运行时,数组键将不存在,因此在检查值为 true 时可能会触发警告,因此您可能应该换成更明确的:

!isset($filesread[$withoutExt]) && ($filesread[$withoutExt] !== true)


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信