php - 创建一个查找函数来获取字符之间的字符串

标签 php mysql function return substr

(发布到 Stack 的第一个问题)

我正在尝试创建一个函数:

  1. 搜索具有变量值的字符串
  2. 找到该变量值后,它将删除该变量值之前的所有内容
  3. 它将删除以下预定字符串之后的所有内容

这是代码:

<?php 

    $user_id = '5';
    $week_start = "2014-8-01 00:00:00";                             
    $week_end = "2014-09-01 23:59:59";


    //get the row information
    $result_show_picks = mysql_query("
        SELECT 
        id, uid, pick, date_submitted
        FROM picks_recorded
        WHERE uid = '" . $user_id . "'
        AND date_submitted > '" . $week_start . "'
        AND date_submitted < '" . $week_end . "'
        LIMIT 1
        ", $connection);

        if (!$result_show_picks) {
            die("Database query failed: " . mysql_error());
    }


        while ($row_picks = mysql_fetch_array($result_show_picks)) {
            echo "id = " . $row_picks[id] . "<br />";
            echo "uid = " . $row_picks[uid] . "<br />";
            echo "pick = " . $row_picks[pick] . "<br />";
            echo "date_submitted = " . $row_picks[date_submitted] . "<br />";

            /* this is the output 
                id = 233
                uid = 5
                pick = |1046:648|145:66|1348:736|506:334|97:37|710:434|1421:768|361:257|325:235|698:430|1457:796|1142:694
                date_submitted = 2014-08-18 02:50:00
            */

            $pick_input = $row_picks[pick];
        };

        function assign_values($pick_input) {
            $str1 = ":";
            $str2 = "|";
            $team_picked = substr($pick_input,$str1,$str2);
            return 
                $var1 = value1,
                $var2 = value2,
                $var3 = value3,
                etc, etc;

                /* hoped for return will be (but I have no idea if this is even feasible):
                    $pick_1046 = "648",
                    $pick_145 = "66",
                    $pick_1348 = "736",
                    etc, etc;
                */
        };
    ?>

这就是我想要的使用方式:

    <?php 
        if($row['this_games_id'] == $pick_1046){
            echo "yes";
        };
    ?>

我希望这是有道理的。如果重要的话,这是一个足球精选网站,仅供 friend 使用,不涉及任何形式的赌博。

感谢您的帮助。

最佳答案

对您想要从中获取信息的每个字符串执行以下操作,您将获得 %start%%end% 之间的任何内容。

$start = '%start%';
$end   = '%end%';

$long_string = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.%start%I want this text%end% Tempore quae explicabo tempora eum aspernatur harum, rem itaque cumque ipsum neque!';

$pos1 = (stripos($long_string, $start) + strlen($start));
$pos2 = (stripos($long_string, $end));

$result = substr($long_string, $pos1, ($pos2 - strlen($long_string)));

echo $result;

关于php - 创建一个查找函数来获取字符之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25359897/

相关文章:

php laravel 插入查询不起作用

mysql - 如何将 MySQL 日期时间值转换为 google Chart api 日期时间

php - 在查询中使用 $_SESSION ['id' ] 不好吗?

PHP类没有反应

php - 使用 HTML 中的提交按钮获取值?

Jquery检查元素是否隐藏(连续)

function - lisp函数的实现

c - linux 上的 c 函数

php - 需要 CURL 请求来欺骗服务器,使其认为 Flash 已安装

php - 在复选框中反射(reflect) mySQL bool 值