标签: implode

foreach with php中的array_chunk和多个数组

我是一个相对较新的PHP,我一直在努力让这个工作.我有一个多个数组,并希望以特定格式和组中回显每个数组.所以我经历了stackoverflow并找到了这个帮助:

<? foreach(array_chunk($projetos, 6) as $curta ) { ?>


        <li style='display:block'>


                     <div class="film"> <?php echo $curta[0]['titulo']; ?></div>
                     <div class="film"> <?php echo $curta[1]['titulo']; ?></div>
                     <div class="film"> <?php echo $curta[2]['titulo']; ?></div>
                     <div class="film"> <?php echo $curta[3]['titulo']; ?></div>
                     <div class="film"> <?php echo $curta[4]['titulo']; ?></div>
                     <div class="film"> <?php echo $curta[5]['titulo']; ?></div>


             </li> 

      <? }; ?>
Run Code Online (Sandbox Code Playgroud)

这会返回我想要的但是数组的最后几项不会填充到6并且创建2个额外的空div并且弄乱了设计.

这是我拥有的数组的一个例子:

<?php
 $projetos = array ( 

            "ugm" => array (
                    "id" => "ugm",
                    "titulo" => "Una Guerra Más",
                    "video" => "imagem",
                    "videoid" => "",
                    "height" => "$video_height_wide",
                    "sinopse" …
Run Code Online (Sandbox Code Playgroud)

php arrays foreach implode

8
推荐指数
1
解决办法
2万
查看次数

序列化或内爆

我需要在数据库中存储大量的二维数组,并且不确定要使用什么:serialize或者implode.所以我做了一些测试,找出哪一个工作得更快,并得出结论serialize:

Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds 
Run Code Online (Sandbox Code Playgroud)

所以问题是:为什么内爆+爆炸串行化+反序列化要慢得多?

PS:我已经发现了这个问题,但这并不是我要问的问题.

php performance serialization explode implode

8
推荐指数
1
解决办法
2286
查看次数

PHP,用implode添加换行符

我试图\n在我的foreach声明中添加一个换行符.

我的代码:

$ga->requestReportData($profileId,array('country'),array('visits')); 
$array = array();
foreach($ga->getResults() as $result){ 
    $array[] = "['".$result->getcountry()."', ".$result->getVisits()."]"; 
} 
echo implode(",\n", $array);
Run Code Online (Sandbox Code Playgroud)

我的结果之间只有逗号和空格.我想要一个逗号和换行符.

我想要得到这样的东西:

['国家','数字'],

['国家','数字'],

['国家','号码']

但是我得到这个:

['Country','number'],['Country','number'],['Country','number']

为什么我的\n不会引起换行?

php implode

8
推荐指数
2
解决办法
3万
查看次数

PHP:从array_values()中的值中剥离标记

我想在使用制表符进行内爆之前从array_values()内部的值中删除标记.

我试过下面的这一行,但是我有一个错误,

$output = implode("\t",strip_tags(array_keys($item)));
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想剥离换行符,双倍空格,值的标签,

$output = implode("\t",preg_replace(array("/\t/", "/\s{2,}/", "/\n/"), array("", " ", " "), strip_tags(array_keys($item))));
Run Code Online (Sandbox Code Playgroud)

但我认为我的方法不正确!

这是整个功能,

function process_data($items){

    # set the variable
    $output = null;

    # check if the data is an items and is not empty
    if (is_array($items)  && !empty($items))
    {
        # start the row at 0
        $row = 0;

        # loop the items
        foreach($items as $item)
        {
            if (is_array($item) && !empty($item))
            {
                if ($row == 0)
                {
                    # write the column headers
                    $output = implode("\t",array_keys($item)); …
Run Code Online (Sandbox Code Playgroud)

php arrays preg-replace implode strip-tags

7
推荐指数
1
解决办法
8678
查看次数

内含双引号作为分隔符

我现在有这个:

$_words = "'".implode("','", $array_of_words)."'";
Run Code Online (Sandbox Code Playgroud)

这给了我一个字符串:

'word','word2','word3'
Run Code Online (Sandbox Code Playgroud)

如何修改才能获得

"word","word2","word3"
Run Code Online (Sandbox Code Playgroud)

谢谢

php implode

7
推荐指数
1
解决办法
1万
查看次数

内置值数组及其键

我试图破坏其键和值的数组.我可以很容易地获得内爆的钥匙,但发现我必须重复自己的钥匙.

目前我这样做:

$values = array(
  'id'                    =>  $sel['id'],
  'creator_id'            =>  $sel['creator_id'],
  'campaign_id'           =>  $sel['campaign_id'],
  'save_results'          =>  $sel['save_results'],
  'send_results_url'      =>  $sel['send_results_url'],
  'reply_txt'             =>  $sel['reply_txt'],
  'allow_multiple_votes'  =>  $sel['allow_multiple_votes']
    );
    $cols = '';
    $vals = '';
    $first = true;
    foreach($values as $col => $val) {
        if(!$first) {
            $cols .= ', ';
            $vals .= ', ';
        }
        $cols .= $col;
        $vals .= $val;
        $first = false;
    }
Run Code Online (Sandbox Code Playgroud)

困扰我的部分是这样的:

foreach($values as $col => $val) {
  if(!$first) {
    $cols .= ', ';
    $vals .= ', '; …
Run Code Online (Sandbox Code Playgroud)

php arrays implode

6
推荐指数
1
解决办法
2万
查看次数

如何使用ArrayIterator或ArrayObject使用implode?

我在使用ArrayIterator时遇到了一些问题(实际上,与ArrayObject相同的问题).

对于99%的所有内容,我的扩展ArrayIterator表现得像一个阵列,并且运行良好.

不幸的是,implode()不喜欢被赋予ArrayIterator(或ArrayObject).

我无法在文档中找到任何建议通过扩展ArrayIterator实现任何其他类的文档,也没有任何其他方法可以覆盖.

任何人都可以建议如何使这个工作?(注意:每次使用implode时都要转换为数组不是解决方案,因为我希望这个类似数组的对象能够完全作为一个数组工作,并且不需要使用它来代码知道/关心/强制转换)

php implode arrayiterator

6
推荐指数
1
解决办法
1719
查看次数

PHP内爆不适用于大阵列?

我有一个包含30k项目的数组,而implode什么都不返回.没有错误信息,没有内存问题,什么都没有.

如果我使用array_slice并将数组切片为100个项目,它可以正常工作.它也适用于7k阵列,但不适用于此阵列.

但是,在另一个主题中我找到了这个代码,它运行得很好:

$arr = array();
for ($i = 0; $i < 50000; $i++) {
$arr[] = str_shuffle('This sentance is of average length, which The Internet says is  aboout 14.2 words.'); 
}
echo implode(PHP_EOL, $arr);
Run Code Online (Sandbox Code Playgroud)

但是使用PHP_EOL我不能在我的选择中使用它,字符串需要用','分隔.

所以我有两个问题:是否有任何方法可以使这项工作,我怎么能抓住这个错误?因为测试implode输出不起作用,is_null,strlen,is_string,empty,isset,所有这些测试都失败了.

php arrays limit implode

6
推荐指数
1
解决办法
769
查看次数

使用php显示.txt文件的内容

使用此代码

<?php
foreach (glob("*.txt") as $filename) {   
    $file = $filename;
    $contents = file($file); 
    $string = implode($contents); 
    echo $string;
    echo "<br></br>";
}
?>
Run Code Online (Sandbox Code Playgroud)

我可以显示文件夹中任何txt文件的内容,问题是所有格式化等等,从txt文件跳过

txt文件看起来像

#nipponsei @ irc.rizon.net presents:

Title: Ah My Goddess Sorezore no Tsubasa Original Soundrack
Street Release Date: July 28, 2006

------------------------------------

Tracklist:

1. Shiawase no Iro On Air Ver
2. Peorth
3. Anata ni Sachiare
4. Trouble Chase
5. Morisato Ka no Nichijou
6. Flying Broom
7. Megami no Pride
8. Panic Station
9. Akuryou Harai
10. …
Run Code Online (Sandbox Code Playgroud)

php text-files implode

5
推荐指数
2
解决办法
3万
查看次数

用&符号替换最后一个逗号

我到处搜索,但找不到适合我的解决方案.

我有以下内容:

$bedroom_array = array($studio, $one_bed, $two_bed, $three_bed, $four_bed);
Run Code Online (Sandbox Code Playgroud)

对于这个例子,我们说:

$studio = '1';
$one_bed = '3';
$two_bed = '3';
Run Code Online (Sandbox Code Playgroud)

然后我使用implode函数在所有值之间添加逗号:

$bedroom_list = implode(", ", array_filter($bedroom_array));
echo $bedroom_list;
Run Code Online (Sandbox Code Playgroud)

然后输出:

1,2,3

我想要做的是找到字符串中的最后一个逗号并用&替换它,所以它会读取:

1,2和3

字符串不会总是这么长,可以更短或更长,例如1,2,3,4等等.我已经研究过使用substr但是我不确定这是否适用于我需要的东西?

php substr implode array-filter

5
推荐指数
2
解决办法
8598
查看次数