如何将关联数组转换为一个数组

时间:2017-07-07 05:34:58

标签: php arrays laravel associative-array

我被困在这个我有多个关联数组,我想转换为一个: - 这是数组: -

Array
(
[0] => Array
    (
        [0] => Women
    )

[1] => Array
    (
        [0] => children
        [1] => smile
    )

[2] => Array
    (
        [0] => Abstract
    )

[3] => Array
    (
        [0] => Lion
        [1] => Cheetah
    )
)

我想输出这样的东西: -

Array
(

[0] => Women
[1] => children
[2] => smile
[3] => Abstract
[4] => Lion
[5] => Cheetah
)

到目前为止,我已尝试过: -

$getKeywords =  DB::table('contributor_images')->select('keywords')->get();
$getKeywords = json_decode(json_encode($getKeywords),true);
    foreach($getKeywords as $keyword){
        $AllKeywords[] = $keyword['keywords'];
    }
    foreach ($AllKeywords as $key => $ExplodeKeywords) {
        $searchkeywords[] = explode(',',$ExplodeKeywords);
    }
    echo "<pre>"; print_r($searchkeywords); die;

我正在使用php的laravel框架。感谢提前:))

3 个答案:

答案 0 :(得分:1)

试试这个:

foreach ($old as $data) {
            foreach ($data as $value) {
                $new[] = $value;
            }
        }
        print_r($new);
    }

在第一个foreach中,您将获得数组内部数组,并且在第二个foreach中您将获得该值。在新数组中插入这些值以获得所需的结果。使用print_r查看结果

答案 1 :(得分:1)

您只需使用: int func1(int n) { if(n==1) return 1; return n*func1(n-1); } static boolean check=false; int func(int no) { String a=""+no; String reverse = new StringBuffer(a).reverse().toString(); if(a.equals(reverse)) { if(!a.contains("0")) { System.out.println("hey"); check=true; return Integer.parseInt(a); } } // else // { func(no++); if(check==true) { return 0; } return 0; } public static void main(String[] args) { // TODO code application logic here Scanner in=new Scanner(System.in); System.out.println("Enter testcase"); int testcase=in.nextInt(); while(testcase>0) { int a=in.nextInt(); PlaindromeNumbers obj=new PlaindromeNumbers(); System.out.println(obj.func(a)); testcase--; } }

call_user_func_array

输出

<?php
$array = array (
  0 => 
  array (
    0 => 'Women',
  ),
  1 => 
  array (
    0 => 'children',
    1 => 'smile',
  ),
  2 => 
  array (
    0 => 'Abstract',
  ),
  3 => 
  array (
    0 => 'Lion',
    1 => 'Cheetah',
  ),
);

$result = call_user_func_array('array_merge', $array);

print_r($result);
?>

点击此处:https://eval.in/829111

  

参考:http://php.net/manual/en/function.call-user-func-array.php

答案 2 :(得分:1)

您可以使用Laravel辅助函数array_flatten

$array = [
    0 => [
        0 => 'Women',
    ],
    1 => [
        0 => 'children',
        1 => 'smile',
    ],
    2 => [
        0 => 'Abstract',
    ],
    3 => [
        0 => 'Lion',
        1 => 'Cheetah',
    ],
];

$result = array_flatten($array);

var_dump($result);

输出:

array (size=6)
  0 => string 'Women' (length=5)
  1 => string 'children' (length=8)
  2 => string 'smile' (length=5)
  3 => string 'Abstract' (length=8)
  4 => string 'Lion' (length=4)
  5 => string 'Cheetah' (length=7)