2010-06-24 13 views
20

Tengo dos matrices: Array ([0] => 2 [1] => 3) y Array ([0] => 2). Quiero obtener el valor, que no está en la segunda matriz. Así que he utilizado la función array_diff, pero mi resultado será Array ([1] => 3) . En realidad, este es el resultado. Pero un pequeño problema aquí, su posición es (clave) 1. Quiero que el resultado en una nueva matriz comience desde la posición 0, es decir, Array ([0] => 3).¿Cómo restablecer los índices en el resultado de array_diff?

¿Alguien me ayuda?

+0

Podría explicar por qué tener las llaves originales en su lugar provoca un problema? – salathe

Respuesta

36

puede utilizar array_values(array_diff($arr1, $arr2)); si el orden no importa

12

Debe ejecutar array_values() en el resultado y esto le daría una nueva matriz con índices a partir de 0.

Esta es una deficiencia conocida de array_diff(), comprobar el php docs.

Cuestiones relacionadas