只是一个小小的快速问题,如何将循环迭代到此
(
8885555512,
8885551212,
5555648583,
4155553695,
5555228243,
5554787672,
4085555270,
4085553514,
5556106679,
5557664823,
7075551854
)
我试过这个for循环但是没有用
$validator = Validator::make($request->all(), [
'phone_numbers' => 'required'
]);
if ($validator->fails())
{
return response(array(
'code' => 0,
'message' =>$validator->errors()->all(),
'status' => "error",
),200);
}
else
{
$phone_numbers_data = array();
$phone_numbers = Input::get('phone_numbers');
print_r($phone_numbers);
foreach($phone_numbers as $p)
{
echo $p;
}
}
但仍然会出现错误
Invalid argument supplied for foreach
任何解决方案?
答案 0 :(得分:2)
正如你已经修正了拼写错误,唯一的问题似乎就是你声明数组的方式。下面的代码声明了一个数组并循环遍历它。
<?php
$phone_numbers = array(
8885555512,
8885551212,
5555648583,
4155553695,
5555228243,
5554787672,
4085555270,
4085553514,
5556106679,
5557664823,
7075551854
);
print_r($phone_numbers);
foreach($phone_numbers as $p)
{
echo $p;
}
答案 1 :(得分:2)
假设您有像您一样的实际文本输入,请首先取出电话号码的内部部分,然后拆分。
$phone_numbers = <<<DATA
(
8885555512,
8885551212,
5555648583,
4155553695,
5555228243,
5554787672,
4085555270,
4085553514,
5556106679,
5557664823,
7075551854
)
DATA;
preg_match('#\((.*)\)#sm', $phone_numbers, $matches);
$phone_numbers_as_array = preg_split('#\s*,\s*#sm', trim($matches[1]));
现在,您的电话号码实际上是一个数组,而不是文本。现在,您可以使用foreach
循环播放它。
答案 2 :(得分:2)
(
8885555512,
8885551212,
5555648583,
4155553695,
5555228243,
5554787672,
4085555270,
4085553514,
5556106679,
5557664823,
7075551854
)
如果你要求他们通过
,这可以纠正[
8885555512,
8885551212,
5555648583,
4155553695,
5555228243,
5554787672,
4085555270,
4085553514,
5556106679,
5557664823,
7075551854
]
答案 3 :(得分:1)
循环看起来很好。
在这种意义上,您可以将变量强制转换为数组。
$var = (array)$arr;
尝试在循环之前转换Rest返回