爆炸处理整数的替代方法-无法使用str_split()

时间:2018-09-07 07:33:54

标签: php arrays foreach explode

我正在尝试从数据库中获取一个值,将该值另存为数组,然后使用:分隔符爆炸该数组,将第一个值放在同一表的另一列中,其余的值保留在其中他们来自。我认为我拥有的代码应该可以解决这个问题,但是我要爆炸的值包含爆炸的整数,显然不能很好地处理(?)。我也不能使用str_split(),因为我们最近已升级到PHP 7.2,并且不建议使用str_split()。我在Google上花了很多时间来研究替代方案,但我真的没有看到它们中的任何一种对我有帮助。

这是我最近一次尝试,使用str_word_count():

$queryGetStrings = 'SELECT roleText FROM table1.tempRoles';
$resultGetStrings = mysqli_query($conn,$queryGetStrings) or die("<br> <br>".$queryGetStrings."<br><br>".mysqli_error($conn));
$resultsArray = mysqli_fetch_all($resultGetStrings);

$explode_row = str_word_count($resultsArray, 1, '_123456789');

foreach($resultsArray as $key => $row) {
//Line below is from my explode attempt
     //$explode_row = explode(":", $row);

     $addSplitColumns = "UPDATE table1.tempRoles SET `user` = '" . $explode_row[0] . "'";
     $executeSplitColumns = mysqli_query($conn, $addSplitColumns) or die("<br><br>" . 

$addSplitColumns . "<br><br>" . mysqli_error($conn));

有人能推荐一种替代方法吗?我是后端编程的新手,所以我的存储库充其量是暗淡的。我感谢任何建议。

1 个答案:

答案 0 :(得分:0)

您所要做的就是将explode的第二个参数强制转换为字符串:

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

namespace CropImageToCircle
{



    //Browse Image
    private void button1_Click(object sender, EventArgs e)
    {
        var ofd = new OpenFileDialog();
        ofd.Filter = "Choose Image(*.jpg;,*.jpeg;,*.png;)|*.jpg;,*.jpeg;,*.png;";
        if(ofd.ShowDialog()== DialogResult.OK)
        {
            pictureBox1.Image =Image.FromFile( ofd.FileName);
        }
    }

    //CropToCircle
    private void button2_Click(object sender, EventArgs e)
    {

        var imageHelper = new ImageHelper();
       pictureBox2.Image= imageHelper.CropImage(pictureBox1.Image);

    }

    //Save Image
    private void button3_Click(object sender, EventArgs e)
    {
        var imageHelper = new ImageHelper();
        var sfd = new SaveFileDialog();
        sfd.FileName = "*";
        sfd.DefaultExt = "png";
        sfd.Filter = "Png Image (.png)|*.png ";
        sfd.ValidateNames = true;
        sfd.FilterIndex = 1;
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            imageHelper.SaveImage(pictureBox2.Image,sfd.FileName,ImageFormat.Png);
        }

    }
}

如果仅有意义:在更新行之前,应验证结果数组的长度。如果数组中只有一个值,则表示该字符串没有$explode_row = explode(":", (string) $row);