Php 检查数组是否具有此值,然后获取它并将其放置为变量

Php 检查数组是否具有此值,然后获取它并将其放置为变量,php,arrays,Php,Arrays,我有一根像下面一样的绳子 11月20日18:14:XXXXXXXXX给xxxxx打10分。新比特币收藏余额:XXXXXXXX。参考号:675743957424 我将爆炸它,然后它将变成一个数组 但我想检查数组是否有Ref:675743957424,然后将其放入一个变量中,例如$a 我想这样做,因为字符串可能会从一个点更改到另一个点,所以Ref的位置不是固定的 我怎样才能得到这样的东西 谢谢 编辑 我试着不爆炸它,而是试着抓取数据,见下面的代码 <?php $line = "20Nov 1

我有一根像下面一样的绳子

11月20日18:14:XXXXXXXXX给xxxxx打10分。新比特币收藏余额:XXXXXXXX。参考号:675743957424

我将爆炸它,然后它将变成一个数组

但我想检查数组是否有Ref:675743957424,然后将其放入一个变量中,例如$a

我想这样做,因为字符串可能会从一个点更改到另一个点,所以Ref的位置不是固定的

我怎样才能得到这样的东西

谢谢

编辑

我试着不爆炸它,而是试着抓取数据,见下面的代码

<?php
 $line = "20Nov 18:14:xxxxxxxxxx has given 10 points to xxxxx. New bitcoin collection Balance:XXXXXXXX. Ref:675743957424";
 // perform a case-Insensitive search for the word "Vi"

  if (preg_match("/\bRef\b/i", $line, $match)) :
  print "Match found!";
   //how can I grab the Ref part?
  endif;

您必须使用:

preg_match ('/Ref:[\d]*/', $line, $matches);
匹配项将保存到变量
$matches
,然后您可以使用所述匹配项进行操作。 在RegExp中,您只需查找字符串
Ref:
,后跟任意数量的数字(
\d
查找任意数字,
*
查找前一个运算符的零个或多个引用,在本例中为数字)

如果您知道必须查找的确切位数,并且该位数没有变化,则可以使用模式{number},如:

preg_match ('/Ref:[\d]{12}/', $line, $matches);
在这种情况下,您将在
Ref:

之后查找12位数字。您可以使用strps()检查字符串中是否存在子字符串。如果为真,则可以将其分配给变量。请看下面的代码,它可能会帮助你

 $line = "20Nov 18:14:xxxxxxxxxx has given 10 points to xxxxx. New bitcoin collection Balance:XXXXXXXX. Ref:675743957424";
 $string_to_check ='Ref:675743957424'
 if (strpos($line,$string_to_check) !== false) { //Ref is present
  $a = $line;
 }

您只需要检查'Ref'或'Ref:somenumbers'Ref:somenumbers,然后我需要将其放入变量中。感谢只有当Ref编号始终相同时,这才有效。在这种情况下,只需执行
$a='Ref:6757439577424'
就更容易了,这没有意义。不,如果他可以将其作为变量,那么它将检查任何子字符串。根据上下文,它似乎是事务的结果,他不可能事先知道参考号。如果您使用
preg_match('/Ref:([\d]+)/,$line,$matches)
$matches
将包含2个值,完全匹配和我假设的参考号是您最后需要的。类似于数组([0]=>Ref:67574395724[1]=>67574395724)的东西如果这就是OP想要的,我很乐意接受你编辑我的答案,并添加改进。