0
이 if/elseif 문이 있습니다. $ DiscountDescription이 비어 있지 않은 경우, 다음과 같이 검색합니다. "e", "E", "A"가 있으며 12 자 또는 10자를가집니다. 두 개의 다른 시나리오는 두 개의 대시가있는 18 자와 모두 숫자 인 9 자입니다.PHP 문자열의 시작 문자와 문자열의 길이를 결정한 다음 결과에 따라 변수에 값을 할당하십시오.
코드는 나에게 맞는 것처럼 보이지만 작동하지 않는 것 같습니다. 어떤 아이디어?
$DiscountDescription = $_order->getDiscountDescription();
if ($DiscountDescription != '') {
if (substr($DiscountDescription,0,1 == "e") && strlen($DiscountDescription == 12)){
$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
elseif (substr($DiscountDescription,0,1 == "E") && strlen($DiscountDescription == 10)){
$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
elseif (substr($DiscountDescription,0,1 == "A") && strlen($DiscountDescription == 10)){
$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
elseif (strlen($DiscountDescription == 18) && substr_count($DiscountDescription,'-' == 2)){
$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
elseif (strlen($DiscountDescription == 9) && ctype_digit($DiscountDescription)){
$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
//$_order->setDiscountDescription('Gift Cards ' . $DiscountDescription);
}
'strlen ($ DiscountDescription == 10)'__ 반드시 be__'strlen ($ DiscountDescription) == 10'입니다. __same__ for'substr_count' –
@u_mulder 그리고'substr()'... – jeroen
당신은 당신의 모든 ==를 함수 대신에 넣는 대신에 substr_count ($ var, "-") == 2. 및 strlen ($ var) == 12 – hunijkah