PHP if in_array () 키를 얻는 방법은 무엇입니까?
작은 문제로 고군분투합니다.
배열이 있습니다.
Array
(
[0] =>
[6] => 6
[3] => 5
[2] => 7
)
설정된 값이 배열에 있는지 확인하고 있습니다.
if(in_array(5, $array)) {
//do something
} else {
// do something else
}
문제는 배열에서 값 5를 찾을 때 "무언가"에서 작업 할 키가 정말 필요하다는 것입니다.
이 경우 다음을 설정해야합니다.
$key = 3;
(발견 된 값 in_array의 키).
어떤 제안?
array_search()
당신이 찾고있는 것입니다.
if (false !== $key = array_search(5, $array)) {
//do something
} else {
// do something else
}
첫 번째 일치의 키만 필요한 경우 다음을 사용하십시오 array_search()
.
$key = array_search(5, $array);
if ($key !== false) {
// Found...
}
특정 값과 일치하는 모든 항목의 키가 필요한 경우 다음을 사용하십시오 array_keys()
.
$keys = array_keys($array, 5);
if (count($keys) > 0) {
// At least one match...
}
http://www.php.net/manual/en/function.array-search.php를 사용할 수 있습니다 .
$key = array_search(5, $array)
if ($key !== false) {
...
값을 찾을 수 없으면 false를 반환하고 값이 있으면 인덱스를 반환하는 array_search를 대신 사용할 수 있습니다. 여기 에서 설명을 확인 하세요.
당신은 시도 할 수 있습니다
if(in_array(5, $array))
{
$key = array_search(5, $array);
echo $key;
}
이렇게하면 해당 키가 존재하는지 알 수 있으며 그렇지 않은 경우 해당 키로 수행 한 작업에 따라 알림, 경고 또는 치명적인 스크립트 오류가 발생하지 않습니다.
누군가가 arrrays 배열로 필요로 할 경우. 내 경우는 다음과 같습니다.
다음과 같은 배열이 있습니다.
$myArray =
array:3 [▼
0 => array:3 [▼
0 => 2
1 => 0
2 => "2019-07-21 23:59:59"
]
1 => array:3 [▼
0 => 3
1 => 2
2 => "2019-07-21 23:59:59"
]
2 => array:3 [▼
0 => 1
1 => 1
2 => "2019-07-21 23:59:59"
]
]
다음과 같은 또 다른 하나 (객체 배열) :
$Array2 =
Collection {#771 ▼
#items: array:12 [▼
0 => {#1047 ▼
+"id": 2
+"name": "demografico"
+"dict_key": "demographic"
+"component": "Demographic"
+"country_id": null
+"created_at": null
+"updated_at": null
}
1 => {#1041 ▶}
2 => {#1040 ▶}
etc...
OP로서, 배열에 어떤 값이있는 키로 "무언가"(html php 템플릿의 값 사용, 내 경우에는 블레이드가있는 Laravel)해야했습니다. 내 코드의 경우 다음을 사용해야했습니다.
foreach($Array2 as $key => $item)
if(false !== $key = array_search($item->id, array_column($myArray, 0))
// Note that $key is overwritten
<input type="number" class="form-control" id="{!! $item->id !!}" value="{{ $myArray[$key][1] }}">
참조 URL : https://stackoverflow.com/questions/11836741/php-if-in-array-how-to-get-the-key-as-well
'program tip' 카테고리의 다른 글
단일 커밋의 일부로 여러 커밋을 되 돌리는 방법 (0) | 2021.01.06 |
---|---|
문자열 내에서 지정된 문자의 모든 색인 찾기 (0) | 2021.01.06 |
AngularJS : 서버 측 유효성 검사와 통합 (0) | 2021.01.06 |
첫 번째 행의 첫 번째 필드를 인쇄하는 cut 또는 awk 명령 (0) | 2021.01.05 |
각 그룹에서 최대 값이있는 행을 선택하는 방법 (0) | 2021.01.05 |