【背景】
折腾:
【已解决】将Log函数的参数改变为类似于sprintf的动态个数的可变参数
期间,需要:
处理一个数组,去掉第一个元素,将余下的元素作为数组。
1 2 3 4 | arguments: 3 Argument 0 = str1=%s,num1=%d Argument 1 = hello crifan Argument 2 = 123 |
即:
去掉第一个arg0,把余下的arg1和arg2变成一个数组。
希望能有个arr1.pop()
就去掉第一个。
然后就剩下其他元素,即可。
【折腾过程】
1.搜:
php array operation
参考:
->
2.搜:
php array pop first
参考:
貌似是我要的。
去试试。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | echo "Number of arguments: " . func_num_args() . "<br />" ; for ( $i = 0 ; $i < func_num_args(); $i ++) { echo "Argument $i = " . func_get_arg( $i ) . "<br />" ; } $logArgList = func_get_args(); print_r( "logArgList=" . $logArgList . "<br />" ); $logArgFirst = array_shift ( $logArgList ); print_r( "logArgFirst=" . $logArgFirst . "<br />" ); print_r( "remaing logArgList=" . $logArgList . "<br />" ); $logFormat = $logArgFirst ; $logArgs = $logArgList ; $logFormatedContent = vsprintf( $logFormat , $logArgs ); print_r( "logFormatedContent=" . $logFormatedContent . "<br />" ); |
结果:
1 2 3 4 5 6 7 8 | arguments: 3 Argument 0 = str1=%s,num1=%d Argument 1 = hello crifan Argument 2 = 123 logArgList=Array logArgFirst=str1=%s,num1=%d remaing logArgList=Array logFormatedContent=str1=hello crifan,num1=123 |
也就实现了所要的效果了。
【总结】
PHP中,去掉数组array的第一个元素,并且将余下元素组成新数组,可以用:
1 2 | $firstElement = array_shift ( $oldArr ); $newArr = $oldArr ; |
即可,类似于pop的效果。
转载请注明:在路上 » 【已解决】PHP中去掉数组的第一个元素获取余下所有元素作为新数组