簡體   English   中英

PHP將填充的字符串強制轉換為false

[英]PHP casting populated string as false

因此,我正在使用某種邏輯來檢查是否有人在搜索客戶端以提供足夠的信息來進行搜索,但是由於某種原因,即使其中一個字符串具有值,我的一個字符串也會在if語句中被轉換為false。

// get lookup parameters
$clientID = $db->real_escape_string($_POST["clientID"]);
$fistName = $db->real_escape_string($_POST["firstName"]);
$lastName = $db->real_escape_string($_POST["lastName"]);
$phone = $db->real_escape_string($_POST["phone"]);

// check if enough parameters were provided
if (!($clientID) && !($firstName && $lastName) && !($phone)) {
    // die
    printf("Invalid search parameters.");
    exit();
}

當我提供一個clientID或電話號碼時,沒有問題,但是當使用名字和姓氏時,它將輸入if。 我讓它在if中打印變量的值,並顯示$ firstName =“ Andrew”,$ lastName =“ [插入我的姓氏]”。 如果我將其打印為強制轉換,則$ firstName為true,而$ lastName為false。

我不知道為什么它將一個字符串轉換為true並將一個字符串轉換為false,除非它考慮了字符串中可能包含的內容? 我的姓氏以“ F”開頭。 真是無所事事,拋出了荒唐的想法。

// get lookup parameters
$clientID = $db->real_escape_string($_POST["clientID"]);
$firstName = $db->real_escape_string($_POST["firstName"]);
$lastName = $db->real_escape_string($_POST["lastName"]);
$phone = $db->real_escape_string($_POST["phone"]);

// check if enough parameters were provided
if (!$clientID && !$firstName && !$lastName && !$phone) { //No need for all the brackets
    // die
    echo'Invalid search parameters.';//echo
    exit;
}

暫無
暫無

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

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