Pregunta

¿Hay alguna forma innovadora de hacer que la "impresión" más corto y sin demasiada confusión? Y cuáles de la "letra" le gusta más?

define('_','_');
function _j($a, $b) {
    return $a._.$b;
}

// Output 0_0
print (0)._.(0);
print _j(0,0);

Actualizar

Lo que quiero hacer es tener la sintaxis sector que están en Python / Ruby en PHP por ejemplo.

a[1:3]
a[1,3]
a[1..3]

para convertirlo en PHP, es necesario citar como esto $a["1:3"] ($ a es una clase con interfaz ArrayAccess) así que estaba pensando si hay algunos otherways, $a[(0)._.(0)] Esto es demasiado largo.

¿Fue útil?

Solución

¿Qué quieres hacer? concatenar cadenas? usar implode :

echo implode('_', array(0, 0));

No más corta, pero definitivamente menos confuso, más legible y lo mejor transmite la intención


editar ahora que la cuestión tiene suficiente información:

tiene una clase que implementa la interfaz ArrayAccess.

¿por qué no utilizar los números decimales para lograr su operador de rebanar?

 $a = new PythonArray(array(1, 2, 3, 4, 5));
 $b = $a[1.3];

A continuación, debería ser capaz de convertir el número en una cadena y dividida en el período. también se puede utilizar para obtener floor ambas partes. entonces delegar en array_slice:

 list($start, $len) = explode('.', (string)$offset);
 return array_slice($internal_array, $start, $len);

ser conscientes de que, puede haber problemas con la precisión de punto flotante. lo que está mal con el uso de citas sin embargo? dos caracteres adicionales no es tan malo.

Otros consejos

Si usted tiene la intención de eliminar la confusión, que realmente no debería estar escribiendo dicho código, porque es un paso muy corto de ofuscación.

Desde su PHP, usted podría hacerlo un poquito más corto mediante el uso de eco en lugar de impresión.

El enfoque hacia adelante recta funciona bien.

Comparar

print "0_0";
print _j(0,0);

No estoy del todo seguro de lo que su objetivo es aquí.

Esta es la más corta y no confundir manera: p

echo "0_0";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top