Stack Overflow en español Asked by jose angarita on January 4, 2021
Hola a todos tengo dos array:
$pedidosper=new PedidosPer();
$salidapedidos=$pedidosper->salidaPedidos();
$productosBloqueados= new PedidosPer();
$productosBloqueados=$productosBloqueados->salidaPedidosBloqueados();
$newArray = array();
$newArray2 = array();
for ($i=0; $i<count($salidapedidos); $i++)
{
for($j=0; $j<count($productosBloqueados); $j++)
{
if($salidapedidos[$i]->id_order == $productosBloqueados[$j]->idOrder)
{
$newArray[] = array('id_order' => $salidapedidos[$i]->id_order,'shop_name' => $salidapedidos[$i]->name_shop,'payment' => $salidapedidos[$i]->payment,'customer_firstname' => $salidapedidos[$i]->customer_firstname,
'customer_lastname' => $salidapedidos[$i]->customer_lastname,'reference' => $salidapedidos[$i]->reference,'total'=> $salidapedidos[$i]->total,$salidapedidos[$i]->fecha,$productosBloqueados[$j]->estado_id);
}
}
$newArray2[] = array($salidapedidos[$i]->id_order,$salidapedidos[$i]->name_shop,$salidapedidos[$i]->payment,$salidapedidos[$i]->customer_firstname,
$salidapedidos[$i]->customer_lastname,$salidapedidos[$i]->reference,$salidapedidos[$i]->total,$salidapedidos[$i]->fecha,"");
}
Les explico: Yo estoy consultando la base de datos A y una base de datos B, resulta que son bases de datos diferentes pero comparten informacion común. Entonces el primer ciclo for esta comparado y dice: Si el id_order de la BD A es igual a idOrder de la BD B entonces dame los datos de A y crea un arreglo con esos datos mas los datos de B. Ese array ha quedado de maravilla es decir $newArray.
Ahora existe un $newArray2 la idea de esa variable es que en el estén los datos que no estén en $newArray pero mi idea es fucionarlo, es decir, quiero fucionar el $newArray y el $newArray2.
Si ven la foto newArray
veran que están los datos con los campos que quiero
pero si ven la foto de newArray2
verán que están los mismos datos fijense en la clave id_order yo quiero sustituir esos datos ya que los que están newArray son los que quiero finalmente. Espero me haya explicado bien y puedan ayudarme a salir del hueco. Gracias.
Entiendo que lo que quieres hacer es agregar la información de newArray a newArray2. Por lo que veo sólo hay un cambio de orden al nombrar un índice (shop_name) y un par de índices (0 y 1).
Puedes hacerlo a través del id_order:
$n = count($newArray2);
$m = count($newArray);
for($i=0;$i<$n;$i++){
$newArray2[$i]->shop_name = $newArray[$i]->name_shop;
for($j=0;$j<$m;$j++){
if($newArray2[$i]->reference == $newArray[$j]['reference']){
$newArray2[$i]->data = array($newArray[$j][0],$newArray2[$j][1]);
}
}
}
Espero haber respondido a tu pregunta.
Answered by cooper on January 4, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP