簡體   English   中英

如何在 PHP 中組合兩個條件語句

[英]How to combine two conditional statements in PHP

好的,我知道這是一個新問題,但是如果 IF 1(文本:測試出現在數據字符串中),我將如何僅執行 IF 2。我嘗試將兩者結合起來,但最終遇到了各種問題。 因此,如果測試未顯示跳過的循環,則將運行我在 IF 2 中的正則表達式代碼。

$data = 'hello world "this is a test" last test';


// IF 1 
if (stripos($data, 'test') !== false) {
}


// IF 2
if (preg_match('/"[^"]*"/i', $data, $regs)) {
$quote = str_word_count($regs[0], 1);
$data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
}

echo $data;

任何一個:

if (stripos($data, 'test') !== false) {
    if (preg_match('/"[^"]*"/i', $data, $regs)) {
        $quote = str_word_count($regs[0], 1);
        $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
    }
}

或者:

if (stripos($data, 'test') !== false && preg_match('/"[^"]*"/i', $data, $regs)) {
    $quote = str_word_count($regs[0], 1);
    $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
}

兩者都做同樣的事情。 &&運算符的意思是“和”。 || 運算符的意思是“或”。

你的意思是你想把一個嵌套在另一個里面?

if (stripos($data, 'test') !== false)
{

  if (preg_match('/"[^"]*"/i', $data, $regs))
  {
     $quote = str_word_count($regs[0], 1);
     $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
  }

}

您也可以將其更改為使用&& (這意味着“和”):

if (stripos($data, 'test') !== false && preg_match('/"[^"]*"/i', $data, $regs)) {
            $quote = str_word_count($regs[0], 1);
            $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
}

此外,您的代碼使用!== 這是你的意思還是你的意思!= 我相信它們有不同的含義 - 我知道!=表示“不相等”,但我不確定!==

只需嵌套您的 IF 語句

if (stripos($data, 'test') !== false) {
    if (preg_match('/"[^"]*"/i', $data, $regs)) {
        $quote = str_word_count($regs[0], 1);
        $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
    }

}

還是我誤解了你的問題?

說“我已經嘗試將兩者結合起來,但最終遇到了各種各樣的問題”是相當含糊的。 怎么結合? 這樣嵌套? 什么問題?

if (stripos($data, 'test') !== false) {
  if (preg_match('/"[^"]*"/i', $data, $regs)) {
  $quote = str_word_count($regs[0], 1);
  $data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM