foreach ($myarray as $value)
{
if (strpos($value,'mysearchstring'))
//add this $value to new array here
}
Run Code Online (Sandbox Code Playgroud)
还需要声明第二个数组的位置以及如何?
为了避免警告,应该像这样声明第二个数组
$newArray = array();
Run Code Online (Sandbox Code Playgroud)
这可以像这样包含在你的代码中
$newArray = array();
foreach ($myarray as $value){
if (strpos($value,'mysearchstring') !== false ){
$newArray[] = $value;
}
}
Run Code Online (Sandbox Code Playgroud)
您的原始代码包含错误.
strpos返回,false如果它不包含针,否则返回事件的索引.因此,strpos($value,'mysearchstring')如果$value以#开头则返回0 'mysearchstring'.由于PHP将转换0到false,反之亦然,它不会添加到数组,如果我们使用标准的比较,所以我们需要明确的检查,这是没有类型转换错误(转换0到false为例).要做到这一点,我们使用!==(注意两个=)s.这在上面的代码中表示.
有关php中比较运算符的更多信息,请参阅文档.
编辑
关于推荐和使用[],它将新元素广告到数组的末尾
该文件指出:
如果没有指定键[在方括号中],则采用现有整数索引的最大值,新键将是该最大值加1.如果还没有整数索引,则键将为0(零).
所以,如果我们有一个数组
$arr = array(5 => 1, 12 => 2);
//doing this
$arr[] = 56;
//is exactly the same as doing
$arr[13] = 56
//As the maximum integer key is 12, so the new key is 13
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |