$outp = "[";
for($x = 1; $x <= 5; $x++) {
if ($outp != "[") {
$outp .= ",";
}
if ($ARRAY[$x]['name'] == "davies") {
$outp .= '{"name":"' . $ARRAY[$x]["name"] . '",';
$outp .= '"server_name":"' . $ARRAY[$x]["server"] . '",';
$outp .= '"uptime":"' . $ARRAY[$x]["uptime"] . '",';
$outp .= '"bytes_in":"' . $ARRAY[$x]["bytes-in"] . '",';
$outp .= '"bytes_out":"' . $ARRAY[$x]["bytes-out"] . '"}';
}
}
$outp .="]";
echo ($outp);
안녕하세요, 배열에서 특정 값을 가져 오려고하는데 어떻게해야할지 모르겠습니다. 그래서 for 루프 함수를 if 문과 함께 사용하려고합니다. 내가하려는 것은 배열에서 "데이비스"값을 검색 [name]
한 다음 거기에서 array[name]=davies
값만을 기준으로 나머지 값을 추출하는 것입니다.
내 배열의 예 :
Array
(
[0] => Array
(
[.id] => *2
[server] => hotspot1
[name] => davies
[profile] => davies
[uptime] => 1d6m42s
[bytes-in] => 62669946
[bytes-out] => 459466004
)
[1] => Array
(
[.id] => *3
[server] => hotspot1
[name] => eric
[uptime] => 2h14m13s
[bytes-in] => 6836983
[bytes-out] => 15648003
)
[2] => Array
(
[.id] => *4
[server] => hotspot1
[name] => teck
[uptime] => 1h46m25s
[bytes-in] => 11847933
[bytes-out] => 166875279
)
[3] => Array
(
[.id] => *5
[server] => hotspot1
[name] => andy
[uptime] => 23h13m38s
[bytes-in] => 31241731
[bytes-out] => 321399768
)
)
array_filter를 사용하여 원하는 해당 기준으로 값을 필터링 할 수 있습니다. 결과는 필터링 된 값을 반환합니다.
예:
$students = array(
array('name' => 'julia', 'age' => 15),
array('name' => 'john', 'age' => 16),
array('name' => 'carlo', 'age' => 14),
array('name' => 'arjay', 'age' => 12),
array('name' => 'francis', 'age' => 11),
array('name' => 'carlo', 'age' => 15),
);
$filtered_students = array_filter($students, function($row) {
if($row['name'] == 'carlo'){
return true;
}
});
print_r($filtered_students);
결과는 다음과 같습니다.
Array
(
[2] => Array
(
[name] => carlo
[age] => 14
)
[5] => Array
(
[name] => carlo
[age] => 15
)
)
어레이에 여전히 원래 키가 있음을 확인했습니다. 카운트를 재설정하려면 재 할당 만하면됩니다.
$filtered_students = array_values($filtered_students);
결과:
Array
(
[0] => Array
(
[name] => carlo
[age] => 14
)
[1] => Array
(
[name] => carlo
[age] => 15
)
)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다