I'm having issues checking if the string exist in array after splitting a single string into array by comma. it keeps returning false here my code. Can someone tell me what I'm doing wrong in my code?
<?php
$myString = "10.0.0.1 , IP: 10.0.0.2 Date: 05/07/2017 , IP: 10.0.0.3 Date: 05/07/2017";
$IPS = explode(' , ', $myString);
$string = "10.0.0.2 Date: 05/07/2017";
foreach ($IPS as $IP)
{
if(in_array($string, $IP))
{
die('YES');
}
else
{
die('NO'); // keeps returning no when the $string is in the array.
}
}
?>
Maybe you want to use strpos
instead of looping through the array
<?php
$myString = "10.0.0.1 , IP: 10.0.0.2 Date: 05/07/2017 , IP: 10.0.0.3 Date: 05/07/2017";
$string = "10.0.0.2 Date: 05/07/2017";
if(strpos($myString, $string))
{
die('YES');
}
else
{
die('NO');
}
?>
There are two error with your code. First $IP is string not array, so your is_array is not appropriate. Second when the first element not have $string the process with exit with die("NO"), then the remain code will not execute.
Check the live demo.
<?php
$myString = "10.0.0.1 , IP: 10.0.0.2 Date: 05/07/2017 , IP: 10.0.0.3 Date: 05/07/2017";
$IPS = explode(' , ', $myString);
$string = "10.0.0.2 Date: 05/07/2017";
foreach ($IPS as $IP)
{
if(strpos($IP, $string) !== FALSE)
{
die('YES');
}
}
die('NO');