Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
Usando '<' para comparar dos objetos en PHP

Mi amiga me preguntó cómo puede crear y comparar fechas en PHP. Como sabía que hay una clase DateTime en PHP, le dije que la buscara y la usara una vez que la entendiera, sin embargo, no estaba seguro de las cosas de comparación. Así que busqué en Google cómo podrías comparar fechas en PHP. Pensé que la clase DateTime usa algún método incorporado para comparar fechas. Pero para mi sorpresa, el código se veía así:

 $today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ }

Lo que no entiendo es cómo se puede usar un operador de comparación como < para comparar dos 'Objetos'. Pensé que solo podías comparar tipos de datos primitivos usando los operadores de comparación. Entonces, ¿cómo compara PHP dos 'Objetos' usando los operadores de comparación?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No está bien documentado, pero al comparar objetos, PHP compara las variables miembro una por una en orden de declaración, hasta que encuentra la primera variable desigual y devuelve un resultado basado en eso.

más detalles aquí: http://us3.php.net/manual/en/language.oop5.object-comparison.php#98725

about 4 years ago · Santiago Trujillo Denunciar

0

Sí, por lo general, estaría en lo correcto -> pero, para las clases integradas de PHP, como DateTime, esto es diferente. https://wiki.php.net/internals/engine/objects#compare_objects .

Desearía que hubiera una implementación para un método mágico "__compare" para implementar la comparación. Sin embargo, por ahora, tienes 2 opciones:

Edite después de leer la respuesta de @WhatHaveYouTriedSoFar arriba: 1) podría hacer uso de la forma en que PHP compara objetos, "la operación de comparación se detiene y regresa a la primera propiedad desigual encontrada" ( http://us3.php.net/manual/en /idioma.oop5.objeto-comparación.php#98725 )

2) puede crear su propio método de "comparación".

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda