Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查基本多维数组中的值_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 检查基本多维数组中的值

Php 检查基本多维数组中的值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我敢肯定,对你们大多数人来说,这将是一个快速的过程,但我正在努力自学多维数组 我只想检查$\u文件[“Photo”][“name”]是否包含空字符串,并且执行if语句下面的代码 目前这是可行的,就像我的else陈述(未显示)一样,但是必须有一种更干净的方式来写这篇文章 非常感谢 if (empty($_FILES["Photo"]["name"][0]) && empty($_FILES["Photo"]["name"][1]) && empty($_FILES[

我敢肯定,对你们大多数人来说,这将是一个快速的过程,但我正在努力自学多维数组

我只想检查
$\u文件[“Photo”][“name”]
是否包含空字符串,并且执行if语句下面的代码

目前这是可行的,就像我的else陈述(未显示)一样,但是必须有一种更干净的方式来写这篇文章

非常感谢

if (empty($_FILES["Photo"]["name"][0]) && empty($_FILES["Photo"]["name"][1]) && empty($_FILES["Photo"]["name"][2])) {

    $query = "INSERT INTO lot (lotnumber, lottitle, lotdescription, datecreated, lastmodified) VALUES" . 
        "('$lotnumber', '$lottitle', '$lotdescription', NULL, NULL)";

    if (!$mysqli->query($query)) {
        echo '<p class="warning">Error executing INSERT query: (' . $mysqli->errno . ') ' . $mysqli->error . "</p>";
    }
    else
    {
        echo '<p class="success">The lot has been added to the directory.' . "</p>" . HTML_LINEBREAK;
    }
}
if(空($\u文件[“照片”][“名称”][0])&&empty($\u文件[“照片”][“名称”][1])&&empty($\u文件[“照片”][“名称”][2])){
$query=“插入批次(lotnumber、LOTITLE、lotdescription、DATECEATED、lastmodified)值”。
“(“$lotnumber',$lottitle',$lotdescription',NULL,NULL)”;
如果(!$mysqli->query($query)){
echo“

执行插入查询时出错:(“..mysqli->errno.”“..mysqli->Error.”; } 其他的 { echo“

该批次已添加到目录中。“

”。HTML\u LINEBREAK; } }
我会有一个脚本来计算“name”级别内的键数

然后在for循环中检查键是否为空

for($i = 0; $i <= $count; $i++)
{
    if(empty($name_of_array->Photo->name[$i])
    {
        ... continue code
    }
    else
    {
        ... continue code
    }
}
for($i=0;$i照片->名称[$i])
{
…继续代码
}
其他的
{
…继续代码
}
}

我会有一个脚本来计算“name”级别内的键数

然后在for循环中检查键是否为空

for($i = 0; $i <= $count; $i++)
{
    if(empty($name_of_array->Photo->name[$i])
    {
        ... continue code
    }
    else
    {
        ... continue code
    }
}
for($i=0;$i照片->名称[$i])
{
…继续代码
}
其他的
{
…继续代码
}
}

您可以使用
数组过滤器()
,但我并不认为您所做的有什么问题:

$test_array = array_filter($_FILES['Photo']['name'], function($var) {
    return empty($var);
});

if (count($test_array) === 3) {
   $query = ... // the rest of your code
}
当然,这假设数组中只有三个元素。如果只想检查前3个元素,则需要添加一个
array\u slice()
,如下所示:

$test_array = array_filter(array_slice($_FILES['Photo']['name'], 0, 3), function($var) {
    return empty($var);
});

您可以使用
数组\u过滤器()
,但我并不认为您所做的有什么问题:

$test_array = array_filter($_FILES['Photo']['name'], function($var) {
    return empty($var);
});

if (count($test_array) === 3) {
   $query = ... // the rest of your code
}
当然,这假设数组中只有三个元素。如果只想检查前3个元素,则需要添加一个
array\u slice()
,如下所示:

$test_array = array_filter(array_slice($_FILES['Photo']['name'], 0, 3), function($var) {
    return empty($var);
});


如果使用
空($\u文件[“Photo”][“name”])
,显然没有什么问题。它确定变量是否为空。无论是
string
还是
array
@HashemQolami这是我的逻辑,这就是为什么我在使用空($\u FILES[“Photo”][“name”])跳过else语句时,即使数组是空的??是的,它是空的。看看这个:奇怪的是,一定是我做错了别的什么事。IFUse
empty($\u FILES[“Photo”][“name”])
没有明显的问题。它确定变量是否为空。无论是
string
还是
array
@HashemQolami这是我的逻辑,这就是为什么我在使用空($\u FILES[“Photo”][“name”])跳过else语句时,即使数组是空的??是的,它是空的。看看这个:奇怪,一定是我做错了什么,我会调查这件事。。。还没有学会数组过滤器!!谢谢你或数组_slice()matterI将研究这一个。。。还没有学会数组过滤器!!感谢matterI没有尝试for循环。我确实尝试了foreach循环,但这只是在我的DB中添加了3行:)@SamHolguin这是另一种风格。此for循环将检查名称数组中的条目是否为空。这将消除硬编码名称[0]的使用,硬编码名称[0]的递增数字仅与名称数组中的键数(由$count确定)相同。此if语句应该是旧的else语句。如果名称不是空的,则else应该是您的常规代码。我将用它进行实验,现在是我学习循环的时候了!!许多的thanks@SamHolguin没问题!For循环非常适合这种情况。如果这对你有效,请接受这个答案:)祝你好运!我正在试验for循环……看看你的例子,这会不会像我的foreach循环那样导致多个代码插入???我还没有尝试过for循环。我确实尝试了foreach循环,但这只是在我的DB中添加了3行:)@SamHolguin这是另一种风格。此for循环将检查名称数组中的条目是否为空。这将消除硬编码名称[0]的使用,硬编码名称[0]的递增数字仅与名称数组中的键数(由$count确定)相同。此if语句应该是旧的else语句。如果名称不是空的,则else应该是您的常规代码。我将用它进行实验,现在是我学习循环的时候了!!许多的thanks@SamHolguin没问题!For循环非常适合这种情况。如果这对你有效,请接受这个答案:)祝你好运!我正在试验for循环……看看你的例子,这不会像我的foreach循环那样导致多个代码插入吗????