- var_dump: documentation ( source)
- preg_match_all: documentation ( source)
- usort: documentation ( source)
<?php
$obj = new \StdClass;
$obj->textfield->id = 'text12';
$obj->textfield->text = 'herro';
$anotherObj = new \StdClass;
$anotherObj->textfield->id = 'text1';
$anotherObj->textfield->text = 'moarrr text';
$yesAnother = new \StdClass;
$yesAnother->textfield->id = 'text11';
$yesAnother->textfield->text = 'omggggg';
$array = array($obj, $anotherObj, $yesAnother);
usort($array, function($a, $b)
{
preg_match_all('#\d+#', $a->textfield->id, $matchesA);
preg_match_all('#\d+#', $b->textfield->id, $matchesB);
$idNumA = (int)$matchesA[0][0];
$idNumB = (int)$matchesB[0][0];
return $idNumA > $idNumB;
});
var_dump($array);