programing

다차원 배열에서 단일 열 반환

goodjava 2022. 11. 2. 00:28

다차원 배열에서 단일 열 반환

저는 PHP 초보라서 다음 문제에 대한 빠른 해결책이 필요하지만, 어떤 것도 떠오르지 않는 것 같습니다.

이렇게 다차원 배열이 있습니다.

Array
(
    [0] => Array
        (
            [blogTags_id] => 1
            [tag_name] => google
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )

    [1] => Array
        (
            [blogTags_id] => 2
            [tag_name] => technology
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )
)

사용하고 싶다implode()값을 포함하는 쉼표로 구분된 문자열을 반환하다tag_name이렇게 키를 누릅니다.

google, technology

상기 기능으로 이 효과를 얻을 수 있습니까?그렇지 않은 경우 다른 해결책을 제안해 주십시오.

매우 간단합니다.

$input = array(
  array(
    'tag_name' => 'google'
  ),
  array(
    'tag_name' => 'technology'
  )
);

echo implode(', ', array_map(function ($entry) {
  return $entry['tag_name'];
}, $input));

http://3v4l.org/ltBZ0


및 php v5.5.0의 새로운 기능:

echo implode(', ', array_column($input, 'tag_name'));

이 질문은 문자열 변환에 관한 것이지만, 로그 파일에 어레이를 간단하게 쓸 수 있는 방법을 원하던 중 우연히 알게 되었습니다.문자열의 정확한 청결을 고려하지 않고 정보만 원하는 경우 다음을 고려할 수 있습니다.

json_encode($array)

array_map 는, 전달된 어레이로 재생할 수 있는 콜백 함수입니다.이거면 될 거야

$str = implode(',', array_map(function($el){ return $el['tag_id']; }, $arr));
join(',', array_map(function (array $tag) { return $tag['tag_name']; }, $array))

아주 간단한 방법

$str;
foreach ($arrays as $arr) {
$str .= $arr["tag_name"] . ",";
}
$str = trim($str, ',');//removes the final comma 

"tag_name"과 "blogTags_id"를 관련짓는 경우 (PHP > 5.5)를 사용합니다.

$blogDatas = array_column($your_multi_dim_array, 'tag_name', 'blogTags_id');
echo implode(', ', array_map(function ($k, $v) { return "$k: $v"; }, array_keys($blogDatas), array_values($blogDatas)));

이 상황에서는 값만 필요하기 때문에 incompt($array,'); 가 동작합니다.PHP 5.6에서 나를 위해 작업합니다.

다음과 같은 키와 값을 삽입하는 경우:
blogTags_id: 1
tag_name: google

$toImplode=array();
foreach($array as $key => $value) {
$toImplode[]= "$key: $value".'<br>';
}
$imploded=implode('',$toImplode);

죄송합니다. "다차원 배열에서 데이터 Implode"라는 제목 때문에 잘못 이해했습니다.음, 내 대답은 여전히 어떻게든 대답할 수 있고, 누군가를 도울 수 있기 때문에, 삭제하지 않을 것이다.

언급URL : https://stackoverflow.com/questions/16710800/return-single-column-from-a-multi-dimensional-array