php-删除多个数组中多个项目的句点后的字符
我有一个名为$dbs的对象,它包含多个数组,其中包含多个项。我试图删除每个项目句点后的字符 PHP 当我做一些像php-删除多个数组中多个项目的句点后的字符,php,arrays,Php,Arrays,我有一个名为$dbs的对象,它包含多个数组,其中包含多个项。我试图删除每个项目句点后的字符 PHP 当我做一些像 <?php $dbNew = array(); foreach ($dbs as $db) { $dbNew[] = substr($db, 0, (strlen($db)) - (strlen(strrchr($db, '.')))); } print "<pre>"; print_r($dbNew); print "</pre&
<?php
$dbNew = array();
foreach ($dbs as $db) {
$dbNew[] = substr($db, 0, (strlen($db)) - (strlen(strrchr($db, '.'))));
}
print "<pre>";
print_r($dbNew);
print "</pre>";
?>
$db=array();
foreach($dbs作为$db){
$db=substr($db,0,(strlen($db))-(strlen(strrchr($db,')));
打印“”;
印刷费(db);
打印“”;
}
我可以删除句点后的字符,但我只能在foreach循环中从每个数组返回项目。当我在循环外打印_r()$db时,我只能从每个数组返回第一项。我做错了什么?是否可以将每个数组中的每个项目放入一个新数组中,以便在循环外部使用?如果每次循环时都要覆盖数组,请尝试将巡更代码更改为:
<?php
$dbs = array(array(1 => 'FMServer_Sample.fmp12'), array(1 => 'GolfAudit4.fmp12', 2 => 'iCDS.fmp12', 3 => 'rawhide.fmp12'), array (1 => 'Assets.fmp12', 2 => 'PassTracker.fmp12', 3 => 'Scanner.fmp12'), array(1 => 'prima.fmp12'), array(1 => 'CNAC_db.fmp12'));
$arrNewDb = array();
foreach ($dbs as $db) {
foreach ($db as $val) {
$arrDb = explode(".", $val);
$arrNewDb[] = $arrDb[0];
}
}
print "<pre>";
print_r($arrNewDb);
print "</pre>";
?>
您可以使用创建新阵列:
试试看:
您是否尝试过使用引用&
在foreach($dbs as&$db)
上?您的输出不应该只是一个变量。是否可以将每个数组中的项目放入一个新数组,可能是字符串?我不明白您想要什么,您能提供所需的输出吗?
$db = array();
foreach ($dbs as $db) {
$db = substr($db, 0, (strlen($db)) - (strlen(strrchr($db, '.'))));
print "<pre>";
print_r($db);
print "</pre>";
}
<?php
$dbNew = array();
foreach ($dbs as $db) {
$dbNew[] = substr($db, 0, (strlen($db)) - (strlen(strrchr($db, '.'))));
}
print "<pre>";
print_r($dbNew);
print "</pre>";
?>
$dbs = array_map(function($db) {
return strtok($db, '.'); // only use first portion
}, $dbs);
<?php
$dbs = array(array(1 => 'FMServer_Sample.fmp12'), array(1 => 'GolfAudit4.fmp12', 2 => 'iCDS.fmp12', 3 => 'rawhide.fmp12'), array (1 => 'Assets.fmp12', 2 => 'PassTracker.fmp12', 3 => 'Scanner.fmp12'), array(1 => 'prima.fmp12'), array(1 => 'CNAC_db.fmp12'));
$arrNewDb = array();
foreach ($dbs as $db) {
foreach ($db as $val) {
$arrDb = explode(".", $val);
$arrNewDb[] = $arrDb[0];
}
}
print "<pre>";
print_r($arrNewDb);
print "</pre>";
?>