Visa ett inlägg
Oläst 2013-01-15, 09:33 #6
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Skillnaden är väl att preg_match_all() skapar skapar subarrayer medan preg_splkit() gör det i en nivå. Se exempelkoden nedan. Jag är ingen stjärna på PHP men det var kul att testa i alla fall.

Kod:
<?php
	class SplitStringNum
	{
		public function SplitStringNum1($string)
		{
			$stringarray = preg_split('/([0-9]+)/', $string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);;
			return $stringarray;
		}
		
		public function SplitStringNum2($string)
		{
			preg_match_all("/([a-zA-Z]+|[0-9]+)/", $string, $stringarray);
			return $stringarray;
		}
		public function PrintStringArray($stringarray)
		{
			foreach ($stringarray as $string)
			{
				if (is_array($string))
				{
					echo "-----------------------------------------\n" ;
					echo "------- This also has a sub array -------\n" ;
					echo "-----------------------------------------\n" ;
					$this->PrintStringArray($string);
				}
				else
				{					echo $string . "\n";
				}
			}
		}
	}
	
	class SplitStringNumTest
	{
		
		public function Test()
		{
			$string = "a1b12ccc3d44";
			
			echo "\n-----------------------------------------\n" ;
			echo "First attempt to se content of parameters\n";
			echo "-----------------------------------------\n" ;
			$StringNum1 = new SplitStringNum();
			$stringarray1 = $StringNum1->SplitStringNum1($string);
			$StringNum1->PrintStringArray($stringarray1);
	
			echo "\n-----------------------------------------\n"; 
			echo "Second attempt to se content of parameters\n";
			$StringNum2 = new SplitStringNum();
			$stringarray2 = $StringNum2->SplitStringNum2($string);
			$StringNum2->PrintStringArray($stringarray2);
		}
	}
	
	$test = new SplitStringNumTest();
	$test->Test();

?>

Senast redigerad av Conny Westh den 2013-01-15 klockan 09:42
Conny Westh är inte uppkopplad   Svara med citatSvara med citat