<?php
$desc = "GLOVE EXAM BEST TCH ALOE LTX MED 100/BX 10BX/CS";
$uom = "EA";
$keywords = explode(" ", $desc);
$pkgstring = "";
$result = [];
foreach ($keywords as $key => $keyword){
$firstchar = substr($keyword, 0, 1);
if (is_numeric($firstchar)) {
$pkgstring .= $keyword.",";
}
}
$pkgstring = substr($pkgstring, 0, -1);
$result['pkgstring'] = $pkgstring;
$str_ele = explode(",", $pkgstring);
$qty_uom = 1;
$new_arr[0] = "";
$pos = 1;
if (stripos($pkgstring, $uom) !== false){
// sort each element in the best order to execute the rest of the function
foreach ($str_ele as $key => $element) {
if (stripos($element, '/') !== false) {
$x = stripos($element, '/');
$chk = substr($element, $x-1, 1);
if (is_numeric($chk)) {
$new_arr[0] = $element;
} else {
$new_arr[$pos] = $element;
$pos++;
}
}
}
// do the math to get the qty/uom
foreach ($new_arr as $key => $str) {
echo $str."\n\n";
if (stripos($str, '/'.$uom) !== false) {
$size = preg_replace('/[^0-9]/', '', $str);
$qty_uom *= $size;
break;
} else {
$size = preg_replace('/[^0-9]/', '', $str);
$qty_uom *= $size;
}
}
}
$result['qty_uom'] = $qty_uom;
print_r($result);
preferences:
53.62 ms | 402 KiB | 5 Q