一次取消设置具有相同单词的数组项并将其发送到另一个数组

时间:2018-12-20 08:05:41

标签: php arrays

我正在尝试一次取消设置数组中的几个项目,将未设置的项目发送到另一个数组。

List<string> listString= new List<string>();

listString.ForEach((str, i) => { Func(str, i) , i++});

private ResponseBase Func(string s,int i)
{

此数组中的三个链接以http://www.sohgoh-outline.jp开头。因此,我试图取消这些设置。但不是一一对应。我已经可以了例如,我试图用array(6) { [0]=> string(65) "https://www.kintetsu-re.co.jp/mansion_kansai/outline/midosuji241/" [1]=> string(41) "https://geo.8984.jp/outline/suminodo.html" [2]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0141" [3]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0136" [4]=> string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0099" [5]=> string(53) "https://www.sgr-sumai.jp/mansion/tezukayama21/outline" }

定位那些
strpos

但是此错误弹出。

  

无法取消设置字符串偏移量

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

像这样更改代码:

SyncAdapter

答案 1 :(得分:2)

最简单的方法可能是带有preg_grep和array_diff的正则表达式。

$out = preg_grep("/.*?(sohgoh-outline\.jp).*/", $arr);

var_dump($out); //sohgoh-outline.jp links

$arr = array_diff($arr, $out);
var_dump($arr); // all but sohgoh-outline.jp links

以上代码的输出:

array(3) {
  [2]=>
  string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0141"
  [3]=>
  string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0136"
  [4]=>
  string(56) "http://www.sohgoh-outline.jp/index.php?bunjo_number=0099"
}
array(3) {
  [0]=>
  string(65) "https://www.kintetsu-re.co.jp/mansion_kansai/outline/midosuji241/"
  [1]=>
  string(41) "https://geo.8984.jp/outline/suminodo.html"
  [5]=>
  string(53) "https://www.sgr-sumai.jp/mansion/tezukayama21/outline"
}

https://3v4l.org/Um46H