중첩된 If Else 문을 배열로 바꾸기
9083 단어 webdevarrayphpprogramming
중첩된 If Else 문을 배열로 바꾸기
Early return 및 Array Approach의 사용이 고려됩니다.
다른 경우 중첩됨
나는 우리가 그러한 중첩된 코드를 작성했거나 본 적이 있다고 확신합니다.
보기에 유쾌하지 않습니다.
public function checkData($var){
if (isset($var)){
if ($var==1){
return 'one';
}
elseif($var==2){
return 'two';
}
elseif($var==3){
return 'three';
}
elseif($var==4){
return 'four';
}
}
else{
return 'null';
}
}
우리는 그것을 더 좋게 만들 수 있습니다
조기 귀국
public function checkData($var){
if (!isset($var)){
return 'null';
}
if ($var==1){
return 'one';
}
if($var==2){
return 'two';
}
if($var==3){
return 'three';
}
if($var==4){
return 'four';
}
}
어레이 접근법
public function checkData($var){
$array = [
'1'=>'one',
'2'=>'two',
'3'=>'three',
'4'=>'four',
];
return $array[$var] ?? 'null';
}
배열 접근 방식은 중첩된 If Else에 비해 업데이트하기 쉽고 이해하기 쉽습니다.
조기 반환도 매우 잘 작동합니다!
배열 접근 방식은 메서드에도 사용할 수 있습니다.
조기 귀국 방법 호출
public function checkData($var){
if (!isset($var)){
return $this->nullMethod($var);
}
if ($var==1){
return $this->oneMethod($var);
}
if($var==2){
return $this->twoMethod($var);
}
if($var==3){
return $this->threeMethod($var);
}
if($var==4){
return $this->fourMethod($var);
}
}
배열 접근 방식 호출
public function checkData($var){
$array_methods = [
'1'=>'oneMethod',
'2'=>'twoMethod',
'3'=>'threeMethod',
'4'=>'fourMethod',
];
return $this->{$array_methods[$var]($var)};
//to simplify, break it down
$method=$array_methods[$var];
return $this->{$method}($var);
}
Reference
이 문제에 관하여(중첩된 If Else 문을 배열로 바꾸기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/timoye/replace-nested-if-else-statement-with-array-146f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public function checkData($var){
if (isset($var)){
if ($var==1){
return 'one';
}
elseif($var==2){
return 'two';
}
elseif($var==3){
return 'three';
}
elseif($var==4){
return 'four';
}
}
else{
return 'null';
}
}
public function checkData($var){
if (!isset($var)){
return 'null';
}
if ($var==1){
return 'one';
}
if($var==2){
return 'two';
}
if($var==3){
return 'three';
}
if($var==4){
return 'four';
}
}
public function checkData($var){
$array = [
'1'=>'one',
'2'=>'two',
'3'=>'three',
'4'=>'four',
];
return $array[$var] ?? 'null';
}
public function checkData($var){
if (!isset($var)){
return $this->nullMethod($var);
}
if ($var==1){
return $this->oneMethod($var);
}
if($var==2){
return $this->twoMethod($var);
}
if($var==3){
return $this->threeMethod($var);
}
if($var==4){
return $this->fourMethod($var);
}
}
public function checkData($var){
$array_methods = [
'1'=>'oneMethod',
'2'=>'twoMethod',
'3'=>'threeMethod',
'4'=>'fourMethod',
];
return $this->{$array_methods[$var]($var)};
//to simplify, break it down
$method=$array_methods[$var];
return $this->{$method}($var);
}
Reference
이 문제에 관하여(중첩된 If Else 문을 배열로 바꾸기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/timoye/replace-nested-if-else-statement-with-array-146f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)