我希望PHP中的字符串中的文本和数字部分

i have one string

$str ='california 94063';

now i want california and 94063 both in diferent variable. string can be anything

Thanks in advance....

How about

$strings = explode(' ', $str);

Assuming that your string has ' ' as a separator.

Then, if you want to find the numeric entries of the $strings array, you can use is_numeric function.

Do like this

list($str1,$str2)=explode(' ',$str);
echo $str2;

If your string layout is always the same (say: follows a given format) then I'd use sscanf (http://www.php.net/manual/en/function.sscanf.php).

list($str, $number) = sscanf('california 94063, "%str %d");

<?php
$str ='california 94063';
$x = preg_match('(([a-zA-Z]*) ([0-9]*))',$str, $r);
echo 'String Part='. $r[1];
echo "<br />";
echo 'Number Part='.$r[2];
?>

If text pattern can be changed then I found this solution Source :: How to separate letters and digits from a string in php

<?php
$string="94063 california";
$chars = '';
$nums = '';
for ($index=0;$index<strlen($string);$index++) {
    if(isNumber($string[$index]))
        $nums .= $string[$index];
    else    
        $chars .= $string[$index];
}
echo "Chars: -".trim($chars)."-<br>Nums: -".trim($nums)."-";


function isNumber($c) {
    return preg_match('/[0-9]/', $c);
}
?>