GVKun编程网logo

如何使OR(||)和AND(u0026u0026)语句协同工作? PHP(or语句 excel)

6

在本文中,我们将带你了解如何使OR(||)和AND(u0026u0026)语句协同工作?PHP在这篇文章中,我们将为您详细介绍如何使OR(||)和AND(u0026u0026)语句协同工作?PHP的方

在本文中,我们将带你了解如何使OR(||)和AND(u0026u0026)语句协同工作? PHP在这篇文章中,我们将为您详细介绍如何使OR(||)和AND(u0026u0026)语句协同工作? PHP的方方面面,并解答or语句 excel常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定、bash – Unix布尔运算符(u0026u0026,-a,||,-o)、bash – 如何在我自己的函数中使用u0026u0026?、c – auto u0026u0026如何延长临时对象的生命周期?

本文目录一览:

如何使OR(||)和AND(u0026u0026)语句协同工作? PHP(or语句 excel)

如何使OR(||)和AND(u0026u0026)语句协同工作? PHP(or语句 excel)

我无法使此代码正常工作

if ($title != 'Main' || $nSpace == 56 || $nSpace == 30 && $ifHome != 361)

所以我同意了这个代码

if ($title != 'ArticleCategories' || $nSpace == 1)
    if ($nSpace == 0 && $ifHome != 1)

因此,我现在想知道如何将这两条线合并为一条线以使其起作用?我知道如何获得多个或||语句排成一行,但不是或||和&&&一起声明.

解决方法:

使用parens以对您的程序有意义的方式将逻辑分组在一起.

if ($title != 'Main' || $nSpace == 56 || ($nSpace == 30 && $ifHome != 361))

android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定

android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定

在前台服务中我使用FFMPEG对媒体进行编码.通过记录编码进度,我注意到进程暂停(在某些设备中)

设备通过wifi连接到adb(非USB)&&屏幕被锁定.

我试过了 :

    try {
        final PowerManager mgr = (PowerManager) getSystemService(Context.POWER_SERVICE);
        if (mgr != null) {
            wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TAG:WakeLock");
            if (!wakeLock.isHeld()) {
                wakeLock.acquire();
                Log.i("AppController","Engaging WakeLock");
            }else{
                Log.i("AppController","WakeLock was already engaged");

            }

        }
    } catch (Exception ignored) {
    }

在Application类||中尝试了AlarmManager我的服务类.

我试过了commonsguy/cwac-wakeful.

试图忽略电池优化

一分钟后cpu仍然进入睡眠状态.

服务

public class CompressionService extends Service {

private Messenger _activityMessenger;

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    _activityMessenger = intent.getParcelableExtra(MESSENGER_INTENT_KEY);
    return START_STICKY;
}

@Override
public IBinder onBind(Intent intent) {
    return mBinder;
}

private final IFFmpegProcessService.Stub mBinder = new IFFmpegProcessService.Stub() {
    @Override
    public void startEncode(final List<String> ffmpegArgs, final String outputFile)  {
        ExecuteBinaryResponseHandler handler = new ExecuteBinaryResponseHandler() {
            @Override
            public void onProgress(String s) {
                long progress = FFmpegUtil.getProgres(s);
                Log.d("JOB_PROGRESS: " + progress);
                sendMessage(progress);

            }
        };
        FFmpegUtil.call(handler);
    }
    @Override public void cancel() throws remoteexception { }
    @Override public boolean isEncoding() throws remoteexception {return false; }
};



private void sendMessage(@Nullable Object params) {
    Message m = Message.obtain();
    m.what = MessageId.JOB_PROGRESS.ordinal();
    m.obj = params;
    try {
        _activityMessenger.send(m);
    } catch (remoteexception e) { e.printstacktrace();}
}


}

在API 24上运行|| API 26 Honor 8 Lite

解决方法:

您需要将其实现为ForegroundService.至少要从API级别26避免暂停.

bash – Unix布尔运算符(u0026u0026,-a,||,-o)

bash – Unix布尔运算符(u0026u0026,-a,||,-o)

有人可以解释&& ||,-a和-o Unix操作符之间的区别?

对这两种类型的使用有什么限制?

简单来说,&&&和||在使用条件的时候应该使用运算符?

如:
[“$ 1”=“是”]&& [-r $ 2.txt]

与:
[“$ 1”=“是”-a $ 2 -lt 3]

经验法则:在方括号内使用-a和-o,&&和||外。

了解shell语法与[command的语法之间的区别很重要。

>&&&和||是shell操作符。它们用于组合两个命令的结果。因为它们是shell语法,它们具有特殊的语法意义,不能用作命令的参数。
> [不是特殊的语法。它实际上是一个命名,也称为测试。由于[只是一个常规的命令,它使用-a和-o作为其和和/或操作符。它不能使用& amp;&和||因为那些命令没有看到的shell语法。

可是等等! Bash具有[[]]形式的优点测试语法。如果使用双方括号,则可以访问正则表达式和通配符。您也可以使用像& amp;& |||,<和>自由地在括号内,因为不同于[,双括号的形式是特殊的shell语法。 Bash解析[[本身,所以你可以写这样的东西,如[[$ foo == 5&& $ bar == 6]]。

bash – 如何在我自己的函数中使用u0026u0026?

bash – 如何在我自己的函数中使用u0026u0026?

运行它会打印出两个语句

#!/bin/bash
echo "Hello" && echo "World"

但是,运行它只打印出“你好”

#!/bin/bash
message() {
  echo "Hello"
  return 1
}
message && echo "World"

为什么这不起作用?如何更改我的脚本呢?

解决方法

“退出”值为0表示成功,而其他任何表示失败.和&&如果左侧失败(即如果它返回非零),则运算符不执行右侧

所以改变返回1返回0

c – auto u0026u0026如何延长临时对象的生命周期?

c – auto u0026u0026如何延长临时对象的生命周期?

下面的代码说明了我的担忧:
#include <iostream>struct O{    ~O()    {        std::cout << "~O()\n";    }};struct wrapper{    O const& val;    ~wrapper()    {        std::cout << "~wrapper()\n";    }};struct wrapperEx // with explicit ctor{    O const& val;    explicit wrapperEx(O const& val)      : val(val)    {}    ~wrapperEx()    {        std::cout << "~wrapperEx()\n";    }};template<class T>T&& f(T&& t){    return std::forward<T>(t);}int main(){    std::cout << "case 1-----------\n";    {        auto&& a = wrapper{O()};        std::cout << "end-scope\n";    }    std::cout << "case 2-----------\n";    {        auto a = wrapper{O()};        std::cout << "end-scope\n";    }    std::cout << "case 3-----------\n";    {        auto&& a = wrapper{f(O())};        std::cout << "end-scope\n";    }    std::cout << "case Ex-----------\n";    {        auto&& a = wrapperEx{O()};        std::cout << "end-scope\n";    }    return 0;}

看到现场here.

据说汽车&&将延长临时对象的终身时间,但是我在这个规则上找不到标准单词,至少不在N3690中.

最相关的可能是关于临时对象的第12.2.5节,但不完全是我正在寻找的.

那么,自动和&终生时间扩展规则适用于表达式中涉及的所有临时对象,还是仅适用于最终结果?

更具体地说,在我们到达范围1之前,a.val保证是有效的(非悬挂)?

编辑:
我更新了示例以显示更多的案例(3& Ex).

你会看到,只有在情况1,O的生命周期被延长.

解决方法

与引用const的方式相同:
const auto& a = wrapper{O()};

要么

const wrapper& a = wrapper{O()};

或者也

wrapper&& a = wrapper{O()};

More specific,is a.val guaranteed to be valid (non-dangling) before we reach the end-of-scope in case 1?

是的.

在这里,几乎没有什么特别重要的汽车.它只是编译器推导的正确类型(包装)的占位符.主要的一点是临时被绑定到一个参考.

有关详细信息,请参阅A Candidate For the “Most Important const”我引用:

normally,a temporary object lasts only until the end of the full expression in which it appears. However,C++ deliberately specifies that binding a temporary object to a reference to const on the stack lengthens the lifetime of the temporary to the lifetime of the reference itself

这篇文章是关于C 03,但参数仍然有效:一个临时可以绑定到一个引用const(但不是引用非const).在C 11中,临时值也可以绑定到r值引用.在这两种情况下,临时的生命周期都延长到引用的生命周期.

C11标准的相关部分正是OP中提到的那些,即12.2 p4和p5:

4 – There are two contexts in which temporaries are destroyed at a
different point than the end of the full expression. The first context
is […]

5 – The second context is when a reference is bound to a temporary. […]

(在这些行后面的项目符号中有一些例外.)

更新:(按照texasbruce的评论.)

情况2的寿命短的原因是我们有自动a =包装{O()}; (见,没有&这里),然后暂时没有绑定到引用.实际上,临时是使用编译器生成的拷贝构造函数进行复制的.因此,暂时的终身没有扩张,在完整的表达结束时就会死亡.

在这个特定的例子中有一个危险,因为wrapper :: val是一个引用.编译器生成的wrapper构造函数将绑定a.val到与临时val成员绑定的同一个对象.这个对象也是一个临时的,但是类型为O.然后,当这个对象暂时死亡时,我们在屏幕上看到〜O(),并且a.val dangles!

对比案例2与此:

std::cout << "case 3-----------\n";{    O o;    auto a = wrapper{o};    std::cout << "end-scope\n";}

输出是(当使用gcc编译时使用选项-fno-elide-constructors)

case 3-----------~wrapper()end-scope~wrapper()~O()

现在临时包装器的val成员绑定到o.注意o不是临时的.正如我所说,a是临时包装的副本,a.val也绑定到
O操作.在范围结束之前,临时包装器死亡,我们在屏幕上看到第一个〜wrapper().

然后范围结束,我们得到终点.现在,a和o必须以相反的构造顺序被销毁,所以我们看到〜wrapper()当一个死亡,最后〜O()当它的时间.这表明a.val不会发生变化.

(最后的话:我已经使用-fno-elide-constructors来防止与复制结构相关的优化,这将使这里的讨论复杂化,但这是另一个story.)

关于如何使OR(||)和AND(u0026u0026)语句协同工作? PHPor语句 excel的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定、bash – Unix布尔运算符(u0026u0026,-a,||,-o)、bash – 如何在我自己的函数中使用u0026u0026?、c – auto u0026u0026如何延长临时对象的生命周期?的相关知识,请在本站寻找。

本文标签: