Php 伪阵列切片操作符:使其变短

Php 伪阵列切片操作符:使其变短,php,arrays,operators,slice,Php,Arrays,Operators,Slice,有没有什么创新的方法可以让“打印”变得更短而不会太混乱?你最喜欢哪种“印刷品” define('_','_'); function _j($a, $b) { return $a._.$b; } // Output 0_0 print (0)._.(0); print _j(0,0); 更新 我想做的是将Python/Ruby中的切片语法转换成PHP 例如 要将其转换为PHP,您需要像这样引用$a[“1:3”]($a是一个具有ArrayAccess接口的类),所以我在想,如果还有其他方

有没有什么创新的方法可以让“打印”变得更短而不会太混乱?你最喜欢哪种“印刷品”

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

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

我想做的是将Python/Ruby中的切片语法转换成PHP 例如


要将其转换为PHP,您需要像这样引用
$a[“1:3”]
($a是一个具有ArrayAccess接口的类),所以我在想,如果还有其他方法,
$a[(0)。\u0]
这太长了。

您想做什么?连接字符串?使用:

不短,但肯定不那么混乱,更可读,它最好地传达了意图


现在编辑问题,因为问题有足够的信息:

您有一个实现ArrayAccess接口的类

为什么不使用十进制数来实现切片操作符

 $a = new PythonArray(array(1, 2, 3, 4, 5));
 $b = $a[1.3];
然后,您应该能够将数字转换为字符串并在句点上拆分。您还可以使用
floor
获取这两个部分。然后委托给
数组\u切片

 list($start, $len) = explode('.', (string)$offset);
 return array_slice($internal_array, $start, $len);
但是请注意,浮点精度可能存在问题。
不过,使用引号有什么错?另外两个字符也不错。

因为它是PHP,所以可以使用echo而不是print来缩短它。

直接的方法效果很好

比较

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

我不完全确定你的目标是什么。

如果你想消除混淆,你真的不应该编写这样的代码,因为这离混淆还有一步之遥。

这是最短且不混淆的方法:p

echo "0_0";

$a[“1:3”]
不会在php中对数组进行切片。有人认为我再次更新了我的帖子:P$a是一个带有ArrayAccess接口的类,所以我可以在类内部制作切片。我觉得引用是不一致的,但也许这是最好的选择。带小数的好主意!!
print "0_0";
print _j(0,0);
echo "0_0";