Php 获取字符串的偶数索引

Php 获取字符串的偶数索引,php,Php,嘿,伙计们,我试图从数据库中获取字符串的偶数索引,然后将它们保存在一个变量中,然后返回。但我的密码似乎不起作用。请帮忙。给你 require_once('DBconnect.php'); $school_id = '1'; $section_id = '39'; $select_pk = "SELECT * FROM section WHERE school_id = '$school_id' AND section_id = '$section_id'"; $query =

嘿,伙计们,我试图从数据库中获取字符串的偶数索引,然后将它们保存在一个变量中,然后返回。但我的密码似乎不起作用。请帮忙。给你

require_once('DBconnect.php');
$school_id = '1';
$section_id = '39';
$select_pk = "SELECT * FROM section 
    WHERE school_id = '$school_id' 
    AND section_id = '$section_id'";
$query = mysql_query($select_pk) or die (mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    $public_key = $row['public_key'];
}

if ($public_key) {
    $leng_public_key = strlen($public_key);
    $priv_key_extract = "";
    $array_pki = array();
    for ($i=0; $i <=$leng_public_key-1 ; $i++) { 
        array_push($array_pki,$public_key[$i]);
    }

    foreach ($array_pki as $key  => $value) {
        if($key % 2 == 0) {
            $priv_key_extract += $public_key[$key];
        } else {
            $priv_key_extract ="haiiizzz";
        }
    }
}
echo $priv_key_extract;
require_once('DBconnect.php');
$school_id='1';
$section_id='39';
$select_pk=“从节中选择*
其中school\u id=“$school\u id”
和section_id='$section_id';
$query=mysql\u query($select\u pk)或die(mysql\u error());
while($row=mysql\u fetch\u assoc($query)){
$public_key=$row['public_key'];
}
如果($public_key){
$leng_public_key=strlen($public_key);
$priv_key_extract=“”;
$array_pki=array();
对于($i=0;$i$value){
如果($key%2==0){
$priv_key_extract+=$public_key[$key];
}否则{
$priv_key_extract=“haiiizzz”;
}
}
}
echo$priv_key_extract;

正如你所看到的,我正在尝试使用模2来查看索引是否为偶数

我已按如下方式更新了您的代码,现在可以使用了:

<?php
$public_key = 'A0L8V1I5N9';
if ($public_key) {
    $leng_public_key = strlen($public_key);
    $priv_key_extract = "";
    $array_pki = array();
    for ($i=0; $i <=$leng_public_key-1 ; $i++) {
        array_push($array_pki,$public_key[$i]);
    }
    foreach ($array_pki as $key  => $value) {
        //Changed condition below $key % 2 ==0 => replaced with $key % 2 == 1
        if($key % 2 == 1) {
            // Changed concatenation operator , += replaced with .=
            $priv_key_extract .= $public_key[$key];
        } /*else {
            //Commented this as it is getting overwritten
            $priv_key_extract ="haiiizzz";
        }*/
    }
}
echo $priv_key_extract;
?>

试试这个功能

function extractKey($key) {
    if (empty($key) || !is_string($key)) return '';

    $pkey = '';
    for ($i=0;$i<strlen($key);$i++) {
        if ($i % 2 == 0) {
            $pkey .= $key[$i];
        }
    }
    return $pkey;
}
echo extractKey('12345678'); # => 1357
函数提取键($key){
if(empty($key)| |!is_string($key))返回“”;
$pkey='';
对于($i=0;$i 1357)

。它们不再被维护。请参阅?改为了解,并使用或-将帮助您决定使用哪一个。我们使用mysql启动了项目*但在这个项目之后,我将切换到mysqli。哈,我想我误解了@Aoii忘记了这一点。=是diff from+=inphp@Minesh为什么要将if($key%2==1)更改为if已获取($key%2==0)confused@Aoi因为您试图从A0L8V1I5N9中提取08159,所以它必须提取所有奇数字符,而不是偶数。A=0位(偶数),0=1位(奇数),L=2位(偶数),8=3位(奇数),就像这样…啊哈..好的,现在我得到了tnx。