Comparación de filas asociativas de matrices multidimensionales
Tiene dos matrices multidimensionales, $pageids y $parentpage, donde cada fila representa un registro con columnas 'id', 'etiqueta de enlace' y 'url'. Desea encontrar las filas presentes en $pageids pero no en $parentpage, creando efectivamente una matriz ($pageWithNoChildren) con las filas que faltan.
Sin embargo, usar array_diff_assoc() directamente en estas matrices no funcionará como se esperaba porque compara las claves de la matriz principal, no el contenido de las filas anidadas. Para comparar las filas anidadas, primero podemos convertirlas en matrices unidimensionales usando array_map() y la función serialize().
$serializedPageids = array_map('serialize', $pageids); $serializedParentpage = array_map('serialize', $parentpage);
Después de convertirlos, podemos usar array_diff() para comparar estos arreglos unidimensionales y obtener la diferencia.
$serializedDifference = array_diff($serializedPageids, $serializedParentpage);
Finalmente, podemos convertir la diferencia serializada nuevamente en matrices multidimensionales usando array_map() y la función unserialize().
$pageWithNoChildren = array_map('unserialize', $serializedDifference);
Este proceso nos permite comparar el contenido de las filas anidadas y extraiga las filas que están presentes en $pageids pero no en $parentpage, lo que da como resultado el resultado esperado:
array ( 0 => array ( 'id' => 1, 'linklabel' => 'Home', 'url' => 'home', ), 3 => array ( 'id' => 6, 'linklabel' => 'Logo Design', 'url' => 'logodesign', ), 4 => array ( 'id' => 15, 'linklabel' => 'Content Writing', 'url' => 'contentwriting', ), )
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3