1

I've got a list of data with in the following format:

data\n
data\n
data\n
data\n
data\n

Now I try to explode it into an array with

$array = explode("\n", $dataList);

What happens next is that there is a key with no data, I think it is because of the \n on the end.

Is there a way to explode it so that the last key isn't set?

Thanks!

3 Answers 3

4

Not directly. You can either:

  • Remove the trailing "\n" with trim.
  • Remove the last element of $array with array_pop.
  • Use preg_split instead with the flag PREG_SPLIT_NO_EMPTY.
Sign up to request clarification or add additional context in comments.

1 Comment

Yea, I like the trim method, that would probably be better then the array_pop. Nice call there.
2

Remove empty values by:

$array = array_filter( $array );

1 Comment

That will also remove entries with "0".
1

After you explode, use array_pop() to pop the last item:

$array = explode("\n", $dataList);

array_pop($array);

You can add an if statement using count() and empty() if you want to check if the last item contains something other than a linebreak character, but that should get you what you need.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.