Bird
Raised Fist0
PHPprogramming~5 mins

Preg_split for splitting in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the preg_split function do in PHP?

preg_split splits a string into pieces using a regular expression as the separator.

Click to reveal answer
beginner
How do you use preg_split to split a string by commas and spaces?

Use a pattern like /[ ,]+/ to split by one or more commas or spaces.

Example: preg_split('/[ ,]+/', 'apple, banana orange') splits into ['apple', 'banana', 'orange'].

Click to reveal answer
intermediate
What is the difference between explode and preg_split?

explode splits a string by a fixed string separator.

preg_split splits by a pattern, allowing more flexible splitting like multiple separators or patterns.

Click to reveal answer
intermediate
What does the PREG_SPLIT_NO_EMPTY flag do in preg_split?

This flag removes empty strings from the result array after splitting.

It helps avoid empty pieces when separators are next to each other.

Click to reveal answer
beginner
Write a simple PHP code snippet using preg_split to split a sentence by spaces.
<?php
$sentence = 'Hello world from PHP';
$words = preg_split('/\s+/', $sentence);
print_r($words);
?>

This splits the sentence into words by one or more spaces.

Click to reveal answer
What kind of argument does preg_split use to split a string?
AA regular expression pattern
BA fixed string separator
CAn integer index
DA callback function
Which flag removes empty strings from the result of preg_split?
APREG_SPLIT_DELIM_CAPTURE
BPREG_SPLIT_OFFSET_CAPTURE
CPREG_SPLIT_NO_EMPTY
DPREG_SPLIT_REMOVE_EMPTY
What will preg_split('/,/', 'a,b,,c') return without flags?
A['a', 'b', '', 'c']
B['a', 'b', 'c']
C['a,b,,c']
D['a', '', 'b', 'c']
Which function is simpler but less flexible than preg_split for splitting strings?
Aimplode
Bstr_replace
Csubstr
Dexplode
What does the pattern /\s+/ match in preg_split?
AOne or more letters
BOne or more whitespace characters
COne or more digits
DOne or more commas
Explain how preg_split works and when you would use it instead of explode.
Think about splitting by spaces and commas together.
You got /3 concepts.
    Describe the purpose of the PREG_SPLIT_NO_EMPTY flag and give an example scenario.
    Imagine splitting 'a,,b' by comma.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the PHP function preg_split do?
      easy
      A. Counts the number of words in a string.
      B. Joins array elements into a string.
      C. Replaces parts of a string matching a pattern.
      D. Splits a string into parts using a regular expression pattern.

      Solution

      1. Step 1: Understand the function purpose

        preg_split is designed to split strings based on patterns, not fixed characters.
      2. Step 2: Compare options with function behavior

        Only Splits a string into parts using a regular expression pattern. describes splitting using a regular expression pattern, which matches preg_split functionality.
      3. Final Answer:

        Splits a string into parts using a regular expression pattern. -> Option D
      4. Quick Check:

        preg_split splits string by regex pattern = A [OK]
      Hint: Remember: preg_split uses regex to split strings [OK]
      Common Mistakes:
      • Confusing preg_split with implode or join functions
      • Thinking preg_split replaces text instead of splitting
      • Assuming preg_split counts words
      2. Which of the following is the correct syntax to split a string by commas using preg_split?
      easy
      A. preg_split('/,/', $string);
      B. preg_split(',', $string);
      C. preg_split($string, '/,/');
      D. preg_split($string, ',');

      Solution

      1. Step 1: Identify correct parameter order

        The first parameter of preg_split is the regex pattern as a string, the second is the input string.
      2. Step 2: Check regex pattern format

        The pattern must be enclosed in delimiters like slashes /, /. preg_split('/,/', $string); uses this correctly.
      3. Final Answer:

        preg_split('/,/', $string); -> Option A
      4. Quick Check:

        Pattern first with slashes, then string = B [OK]
      Hint: Pattern goes first with slashes, then the string [OK]
      Common Mistakes:
      • Omitting regex delimiters like slashes
      • Swapping the order of parameters
      • Using plain string instead of regex pattern
      3. What is the output of the following PHP code?
      $text = "apple,banana;orange|grape";
      $result = preg_split('/[,;|]/', $text);
      print_r($result);
      medium
      A. ["apple,banana;orange|grape"]
      B. ["apple", "banana;orange|grape"]
      C. ["apple", "banana", "orange", "grape"]
      D. ["apple", "banana", "orange|grape"]

      Solution

      1. Step 1: Understand the regex pattern

        The pattern /[,;|]/ matches any comma, semicolon, or pipe character as separators.
      2. Step 2: Split the string by these separators

        The string splits at each comma, semicolon, and pipe, resulting in four parts: "apple", "banana", "orange", "grape".
      3. Final Answer:

        ["apple", "banana", "orange", "grape"] -> Option C
      4. Quick Check:

        Split by , ; | = ["apple", "banana", "orange", "grape"] [OK]
      Hint: Regex with multiple separators splits into all parts [OK]
      Common Mistakes:
      • Not recognizing all separators in regex
      • Expecting only comma to split
      • Confusing output format with string instead of array
      4. The following code is intended to split a string by spaces, but it causes an error. What is the problem?
      $str = "one two three";
      $parts = preg_split(' ', $str);
      print_r($parts);
      medium
      A. The print_r function is used incorrectly.
      B. The pattern is missing regex delimiters.
      C. preg_split cannot split by spaces.
      D. The string variable is empty.

      Solution

      1. Step 1: Check the pattern parameter

        The pattern passed is a plain space character without regex delimiters, which is invalid syntax for preg_split.
      2. Step 2: Correct pattern format

        Regex patterns must be enclosed in delimiters like slashes, e.g., '/ /' to match a space.
      3. Final Answer:

        The pattern is missing regex delimiters. -> Option B
      4. Quick Check:

        Regex pattern needs delimiters like slashes [OK]
      Hint: Always wrap regex pattern in delimiters like slashes [OK]
      Common Mistakes:
      • Using plain string without delimiters as pattern
      • Assuming preg_split works like explode for spaces
      • Blaming print_r for output issues
      5. You want to split a string by any number of spaces or commas, but ignore empty parts in the result. Which preg_split call achieves this?
      hard
      A. preg_split('/[ ,]+/', $string, -1, PREG_SPLIT_NO_EMPTY);
      B. preg_split('/[ ,]/', $string);
      C. preg_split('/[ ,]+/', $string);
      D. preg_split('/[ ,]+/', $string, 0);

      Solution

      1. Step 1: Understand the pattern and flags

        The pattern /[ ,]+/ matches one or more spaces or commas, so it splits on any group of these separators.
      2. Step 2: Use flag to remove empty parts

        The flag PREG_SPLIT_NO_EMPTY tells preg_split to exclude empty strings from the result array.
      3. Step 3: Check other options

        preg_split('/[ ,]/', $string); splits on single separators but may leave empty parts. preg_split('/[ ,]+/', $string); does not remove empty parts. preg_split('/[ ,]+/', $string, 0); uses 0 as limit which is invalid.
      4. Final Answer:

        preg_split('/[ ,]+/', $string, -1, PREG_SPLIT_NO_EMPTY); -> Option A
      5. Quick Check:

        Use + for multiple separators and NO_EMPTY flag [OK]
      Hint: Use + in pattern and PREG_SPLIT_NO_EMPTY flag [OK]
      Common Mistakes:
      • Not using + to match multiple separators
      • Forgetting PREG_SPLIT_NO_EMPTY to remove blanks
      • Using invalid limit parameter
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard