Ключ массива PHP равен NULL, массив выглядит пустым - PullRequest
0 голосов
/ 29 декабря 2011

Я довольно новичок в PHP, и я застрял здесь, пишу этот простой скрипт; в конечном итоге я пытаюсь просмотреть содержимое строки и найти позиции всех вхождений, перечисленных в моем массиве $definitions, затем отобразить эти позиции в отдельном массиве и вернуть его ... довольно просто, но я не уверен, где возникает проблема, когда я print_r на массиве в разных частях кода, думая, что это проблема области, я продолжаю видеть, что значение ключа массива NULL попытаться получить доступ к значению массива, я уверен, существует для данного ключа, я также ничего не получаю; любая помощь будет оценена ...

спасибо!

<?php

class html2DokuWiki {
    function definition_map($content){

        $definitions = array("<title" => " ","<h" => array("=", 6),"<p" => "\n\n","<b" => "**","<strong" => "**","<em" => "//","<u" => "__","<img" => " ","<a" => " ","<ul" => " ","<ol" => "*","<li" => "-","<dl" => " ","<dt" => " ","<dd" => " ");

        $element_pos = array();
        foreach($definitions as $html_element){
            $offset = 0;
            $counter = 0;
            $element_pos[(string)$html_element] = array(); //ask phil why do i need to cast in order to use the object?
            while($offset = strpos($content, $html_element, $offset + 1)){
                $element_pos[(string)$html_element][] = $offset;
            };
        };
        //print_r($element_pos);
        echo $element_pos["<p"][0];
        return $element_pos;}

    function run($page){
        return $this->definition_map($page);}
};

$debug = new html2DokuWiki();
$url = "http://www.unixwiz.net/techtips/sql-injection.html";
$content = file_get_contents($url);
//echo $content;
//print_r($debug->run($content));
$test = $debug->run($content);
echo "<p> THIS:".$test["<p"][0]."</p>";
//print_r($test);

?>

1 Ответ

1 голос
/ 29 декабря 2011

Если это ключ, который вы хотите использовать в качестве $html_element в качестве индекса, вы должны сделать:

foreach($definitions as $html_element => $value){
...