I使用PHP的语句和数组
我有一个像这样的零数组:I使用PHP的语句和数组,php,arrays,if-statement,Php,Arrays,If Statement,我有一个像这样的零数组: $a = array(0 , 0 , 0 , 0 ); if ($a == 0) { // all elements of $k be equal to zero //do something; } else { //do not do something!!!; } 我想要一个关于如下内容的if语句: $a = array(0 , 0 , 0 , 0 ); if ($a == 0) { // all elements of $
$a = array(0 , 0 , 0 , 0 );
if ($a == 0) {
// all elements of $k be equal to zero
//do something;
}
else {
//do not do something!!!;
}
我想要一个关于如下内容的if语句:
$a = array(0 , 0 , 0 , 0 );
if ($a == 0) {
// all elements of $k be equal to zero
//do something;
}
else {
//do not do something!!!;
}
如何使用
foreach
?使用简单的foreach循环,如:
$a = array(0 , 0 , 0 , 0, 1);
foreach($a as $el){
if ($el == 0){
//do something;
echo 'ok'.PHP_EOL;
}else{
echo 'no'.PHP_EOL;
}
}
产出:
ok
ok
ok
ok
no
ok
如果您需要一次全部检查:
$a = [0,0,0,0,0];
$u = array_unique($a);
if(count($u) == 1 && $u[0] == 0){
//do something;
echo 'ok'.PHP_EOL;
} else {
echo 'no'.PHP_EOL;
}
产出:
ok
ok
ok
ok
no
ok
使用简单的foreach循环,如:
$a = array(0 , 0 , 0 , 0, 1);
foreach($a as $el){
if ($el == 0){
//do something;
echo 'ok'.PHP_EOL;
}else{
echo 'no'.PHP_EOL;
}
}
产出:
ok
ok
ok
ok
no
ok
如果您需要一次全部检查:
$a = [0,0,0,0,0];
$u = array_unique($a);
if(count($u) == 1 && $u[0] == 0){
//do something;
echo 'ok'.PHP_EOL;
} else {
echo 'no'.PHP_EOL;
}
产出:
ok
ok
ok
ok
no
ok
使用array_unique($a)删除重复的0值,它将减少循环并提供快速输出。之后你可以使用
$b = array_unique($a);
foreach($b as $el){
if ($el == 0){
//do something;
echo 'ok'.PHP_EOL;
}else{
echo 'no'.PHP_EOL;
}
}
使用array_unique($a)删除重复的0值,它将减少循环并提供快速输出。之后你可以使用
$b = array_unique($a);
foreach($b as $el){
if ($el == 0){
//do something;
echo 'ok'.PHP_EOL;
}else{
echo 'no'.PHP_EOL;
}
}
使用
array\u filter
删除所有0
元素
$a = array(0 , 0 , 0 , 0);
if (count(array_filter($a)) == 0) {
// do something if all elements are 0
echo "Contains all zero elements";
}
else {
// do something
echo "Contains non zero elements";
}
以下是使用
array\u过滤器
删除所有0
元素
$a = array(0 , 0 , 0 , 0);
if (count(array_filter($a)) == 0) {
// do something if all elements are 0
echo "Contains all zero elements";
}
else {
// do something
echo "Contains non zero elements";
}
这是试试这个:-
$a = array(0, 0, 30 , 40 );
if (in_array(0,$a)){
echo "0 is exists";
}else{
echo "0 is not exists";
}
试试这个:-
$a = array(0, 0, 30 , 40 );
if (in_array(0,$a)){
echo "0 is exists";
}else{
echo "0 is not exists";
}
试试这个
function test($a)
{
$arraySize = sizeOf($a);
$countOfNumWithZero;
$message = "";
foreach($a as $val)
{
($val === 0) ? $countOfNumWithZero++ : null;
$message = ($arraySize === $countOfNumWithZero) ? "This is all zeroes" : "This contain a non zero";
}
return $message;
}
$val1 = array(0, 0 , 0, 0, 0);
$val2 = array(0, 0 , 0, 0, 1);
$val3 = array(0, 0 , -1, 0, 1);
echo test($val1);
echo test($val2);
echo test($val3);
输出是这样的
This is all zeroes
This contain a non zero
This contain a non zero
试试这个
function test($a)
{
$arraySize = sizeOf($a);
$countOfNumWithZero;
$message = "";
foreach($a as $val)
{
($val === 0) ? $countOfNumWithZero++ : null;
$message = ($arraySize === $countOfNumWithZero) ? "This is all zeroes" : "This contain a non zero";
}
return $message;
}
$val1 = array(0, 0 , 0, 0, 0);
$val2 = array(0, 0 , 0, 0, 1);
$val3 = array(0, 0 , -1, 0, 1);
echo test($val1);
echo test($val2);
echo test($val3);
输出是这样的
This is all zeroes
This contain a non zero
This contain a non zero
以你为例:
$a = array(0, 0, 0, 0);
if(array_unique($a) === [0]) {
echo 'all zeros.';
}
输出:
bool(true)
bool(false)
all zeros.
如果数组仅由整数组成,则翻转数组可能会更有效。0的数组将减少为一项,索引为0
$flipped = array_flip(array(0, 0, 0, 0));
if(isset($flipped[0]) && count($flipped) === 1) {
// all zeros
}
以你为例:
$a = array(0, 0, 0, 0);
if(array_unique($a) === [0]) {
echo 'all zeros.';
}
输出:
bool(true)
bool(false)
all zeros.
如果数组仅由整数组成,则翻转数组可能会更有效。0的数组将减少为一项,索引为0
$flipped = array_flip(array(0, 0, 0, 0));
if(isset($flipped[0]) && count($flipped) === 1) {
// all zeros
}
$a==0
是什么意思?所有元素都等于0?你的意思是想找到除0之外还有其他值吗?这里的问题是什么?a==0是什么意思?所有元素都等于0?你的意思是想找到除0之外还有其他值吗?这里的问题是什么?为什么在输出中没有?@Prabhjotsinghkaint,这是我的特殊输入数组)我想知道,如果数组的所有成员都是0,那么做一些与你说的不完全一样的事情,但是thanks@AksenP美好的缓存数组\u unique($a)
结果以使其更快。为什么输出中没有?@prabhjotsinghkaint,这是我的特殊输入数组)我想知道,如果a数组的所有成员都是0,那么做一些与u所说的不完全一样的事情,但是thanks@AksenP美好的缓存数组\u unique($a)
结果,使其更快。很好。我认为您可以避免foreach,使代码更加简洁。美好的我认为您可以避免foreach,使代码更加简洁。我认为OP想要检查所有数组元素是否为零。我认为OP想要检查所有数组元素是否为零。这是一个正确的解决方案。只需注意,不将回调传递给array_filter甚至会过滤掉所有计算结果为false的值,如NULL
、false
、array()
等。这是一个正确的解决方案。只需注意一点,不向array_filter传递回调甚至会过滤掉所有计算结果为false的值,如NULL
,false
,array()
等。如果输入是$a=array(0,0,1,0,-1),该怎么办代码>谢谢你。您的解决方案非常简洁:D.假设输入是$a=array(0,0,1,0,-1)代码>谢谢你。您的解决方案非常简洁:D。