Estoy tratando de separar el "TID" en una matriz de estas matrices múltiples, pero no pude encontrar la solución eficiente.
Tengo el siguiente tipo de matrices en una variable:
Array ( [0] => Array ( [tid] => 168 ) ) Array ( [0] => Array ( [target_id] => 14 ) [1] => Array ( [target_id] => 15 ) [2] => Array ( [target_id] => 37 ) ) Array ( ) Array ( [0] => Array ( [target_id] => 36 ) ) Array ( [0] => Array ( [target_id] => 14 ) [1] => Array ( [target_id] => 15 ) ) Array ( [0] => Array ( [target_id] => 36 ) ) Array ( [0] => Array ( [tid] => 168 ) [1] => Array ( [tid] => 167 ) )Estos valores están en una variable y puede haber matrices ilimitadas.
Y salida esperada:
Array ( [0] => Array ( [tid] => 168 ) [1] => Array ( [tid] => 168 ) [2] => Array ( [tid] => 167 ) )Está buscando array_column .
Aquí está la sintaxis
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )Descripción
array_column — Return the values from a single column in the input arrayEjemplo :
$records = array( array( tid => 167 ), array( 'id' => 3245, 'first_name' => 'Sally', tid => 166 ), array( 'id' => 5342, 'first_name' => 'Jane', tid => 168 ), array( 'id' => 5623, 'first_name' => 'Peter', tid => 169 ) ); $ids= array_column($records, 'tid');PRODUCCIÓN :
Array ( [0] => 167 [1] => 166 [2] => 168 [3] => 169 )Si tienes más matrices,
$records1 = [ ['tid' => 169]]; $ids1 = array_column($records1, 'tid');entonces puedes hacer array_merge .
$ids = array_merge($ids, $ids1);PRODUCCIÓN :
Array ( [0] => 167 [1] => 166 [2] => 168 [3] => 169 [4] => 169 )$arr1= array("1"); // first $arr2 = array("2") // second array $new = array(); foreach($arr1 as $key=>$value){ if($key=="yourkey"){ $new[]=$value; } } foreach($arr2 as $ke2=>$valu2){ if($key2=="yourkey"){ $new[]=$value2; } } print_r($new);