为了分割给定的符号,我最初使用
list($pdf_platform_size, $pdf_capacity ,$pdf_accuracy) = split("[a-z-][a-z-]", $pdf_select_specification);
当给定的字符串说 6 x 3m - 20t - 2kg 时,它常常将给定的值分成6x3m用于 $ pdf_platform_size ,20t用于 $ pdf_capacity < / strong>,2kg $ pdf_accuracy 。
但是现在我升级到PHP 7,并且不推荐拆分。对于 preg_split()使用相同的功能似乎不起作用。
我试过了list($a,$b,$c) = preg_split("/[a-z-][a-z-]/", $x);
其中$ x 6 x 3m - 20t - 2kg
但我没有得到理想的结果。在这里寻求帮助
答案 0 :(得分:0)
如果您单独SELECT group_concat(t1.team1,'-',t1.team2,' ',t1.result1,'-',t1.result2) from table t1
LEFT JOIN table t2
ON (t1.matchid = t2.matchid AND t1.id < t2.id)
WHERE t2.id IS NULL;
分裂,则无需使用正则表达式。请改用-
:
explode
注意:使用PHP 7.1
进行速记数组解构答案 1 :(得分:0)
您可以使用explode:
def multi_plot(fig, tuples3, pos, title):
x, y, z = zip(*tuples3)
z = map(float, z)
grid_x, grid_y = np.mgrid[min(x):max(x):100j, min(y):max(y):100j]
grid_z = griddata((x, y), z, (grid_x, grid_y), method='cubic')
ax = fig.add_subplot(2, 2, pos, projection='3d')
ax.set_xlabel('sets')
ax.set_ylabel('percentage')
ax.set_zlabel('accuracy')
ax.set_title(title)
ax.plot_surface(grid_x, grid_y, grid_z, cmap=plt.cm.Spectral)
fig = plt.figure(figsize=plt.figaspect(0.5))
multi_plot(fig, tuples3_1, 1, "Bagging - mincase 1")
multi_plot(fig, tuples3_2, 2, "Bagging - mincase 2")
multi_plot(fig, tuples3_3, 3, "Bagging - mincase 3")
multi_plot(fig, tuples3_4, 4, "Bagging - mincase 4")
plt.show()
如果您想要没有这些空格的platform_size,请在此之后使用trim。
答案 2 :(得分:0)
如前所述,您可以使用explode
,但也可以使用preg_split
$x = '6 x 3m - 20t - 2kg';
list($a,$b,$c) = preg_split("/[-]/", $x);
如果空格存在,您可能需要trim()
结果
答案 3 :(得分:0)
如果您需要值,可以使用preg_match_all
$x = '6 x 3m - 20t - 2kg';
preg_match_all('/(\d)+[ ]*x[ ]*(\d)+m[ ]*-[ ]*(\d)+t[ ]*-[ ]*(\d)kg/', $x, $dump);
var_dump($dump);