루프를 돌고 나중에 다른 목록으로 분리해야하는 JSON 데이터의 긴 목록이 있습니다. 하지만 빠르게 작성하는 각 목록에서 첫 번째 가치를 포착 할 수있는 방법을 찾아야합니다.PHP의 switch 문에서 첫 번째 레코드를 꺼내십시오.
나는 진실한 거짓 부울을 생각하고 처음 switch 문이 호출 된 후 그 값을 false로 설정 한 다음 그 값을 새로운 배열로 밀어 넣었지만 우아하지 않은 것처럼 보인다.
아무튼 나는 이것을 처리하는 방법에 대한 몇 가지 제안을 찾고있었습니다.
여기까지 내 직업입니다.
function dump_locations($obj){
$i91 = array();
$i95 = array();
$i84 = array();
$rt2 = array();
$rt8 = array();
$rt9 = array();
$i395 = array();
$rt15 = array();
$rt72 = array();
$other = array();
foreach($obj as $camera){
switch($camera->name){
case (preg_match('/^I-95/', $camera->name) ? true : false) :
array_push($i95,$camera);
break;
case (preg_match('/^I-84/', $camera->name) ? true : false) :
array_push($i84,$camera);
break;
case (preg_match('/^I-91/', $camera->name) ? true : false) :
array_push($i91,$camera);
break;
case (preg_match('/^I-395/', $camera->name) ? true : false) :
array_push($i395,$camera);
break;
case (preg_match('/^CT-15/', $camera->name) ? true : false) :
array_push($rt15,$camera);
break;
case (preg_match('/^RT 2/', $camera->name) ? true : false) :
array_push($rt2,$camera);
break;
case (preg_match('/^RT 8/', $camera->name) ? true : false) :
array_push($rt8,$camera);
break;
case (preg_match('/^RT 9/', $camera->name) ? true : false) :
array_push($rt9,$camera);
break;
case (preg_match('/^RT 72/', $camera->name) ? true : false) :
array_push($rt72,$camera);
break;
default:
array_push($other,$camera);
}
}
save_file('i91_cameras.json',$i91);
save_file('i95_cameras.json',$i95);
save_file('i84_cameras.json',$i84);
save_file('rt2_cameras.json',$rt2);
save_file('rt8_cameras.json',$rt8);
save_file('rt9_cameras.json',$rt9);
save_file('i395_cameras.json',$i395);
save_file('rt15_cameras.json',$rt15);
save_file('rt72_cameras.json',$rt72);
save_file('other_cameras.json',$other);
}
스위치는 실제로 afaics에서 일하는 데있어 잘못된 도구입니다. – PeeHaa
알았어, 뭘 제안 할까? – Showcaselfloyd
올바른 단일 정규식을 사용하여 원하는대로 일치시킵니다. 만약 당신이하고 싶다는 것을 이해한다면 그럴 것입니다. – PeeHaa